lo script autohotkey funziona solo se crea ogni volta un nuovo file di blocco note


0

Ho poca esperienza con AHK, ma dopo alcune prove ed errori sono riuscito a scrivere una sceneggiatura che mi ha fatto risparmiare un sacco di tempo. In qualche modo, ha smesso di funzionare e ora che sto cercando di risolverlo, sono sconcertato dal comportamento di AHK, poiché funziona solo se chiedo allo script di creare un nuovo file di Blocco note ogni volta invece di riutilizzarlo.

Quindi ... il mio script originale mi ha permesso di aggiungere righe a un glossario di termini esistente separato da tabulazioni in Blocco note (nome del file: "lessico"). Vorrei evidenziare un termine in Chrome e premere #s (per "fonte"), e il mio termine verrebbe copiato nel mio glossario, seguito da una scheda; quindi vorrei evidenziare il termine tradotto e premere #t (per "target"), e sarebbe copiato a destra della scheda, spostare il cursore sulla riga successiva e ridurre a icona il blocco note. Questa è la mia sceneggiatura originale:

sceneggiatura originale ahk

L'ho usato felicemente per mesi, fino a quando un giorno ha smesso di funzionare. Ho provato a capire cosa c'è che non va, e sono stato in grado di individuare che il problema risiede nel file Notepad. Se invece di

 Winactivate, lexicon - Notepad

Io uso

 run Notepad
 WinActivate Notepad

creerà un nuovo file di Blocco note ogni volta che premo # e incollerà il termine evidenziato su di esso, che è una specie di cosa voglio che faccia, tranne per il fatto che ho bisogno che accada nel mio file "lessico" esistente, anziché copiando ogni termine in una nuova istanza separata di Blocco note.

Qualcuno può aiutarmi a capire questi gremlin?

Grazie mille!!!

Iza


Hai provato a usare Winactivate, lexicon.txt - Notepad(supponendo che abbia .txtun'estensione)? Perché questo funziona per me su v1.1.28.00.
Anaksunaman,

Risposte:


1

Prova ad aggiungere

WinWaitActive, lexicon - Notepad

dopo

Winactivate, lexicon - Notepad

Prova anche a sostituire

winactivate, chrome

con

winactivate, ahk_exe chrome.exe

Il modo più semplice per scrivere testo in un file è usare FileAppend :

#s::
clipboard = ; empty anything in the clipboard
Send ^c ; copies highlighted term
ClipWait, 0.5
FileAppend, %clipboard%%A_Tab%, C:\lexicon.txt
Return


#t::
clipboard = ; empty anything in the clipboard
Send ^c ; copies highlighted term
ClipWait, 0.5   
FileAppend, %clipboard%`n, C:\lexicon.txt
; Run C:\lexicon.txt
Return
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.