Lo script AHK smette di rispondere regolarmente


0

Ho un semplice script che uso per l'espansione del testo. Il layout è simile al seguente:

::.sig::
    SendInput This Is My Signature
Return

Per qualche motivo, questo script smette di rispondere regolarmente. Quando scrivo .sige inserisco spazi bianchi, non viene intrapresa alcuna azione visibile. Se faccio clic con il pulsante destro del mouse sull'icona AutoHotKey nell'area di notifica e seleziono la Reload Scriptvoce di menu, riprende a funzionare per altre espansioni, quindi si interrompe nuovamente.

L'ho eseguito in modalità debug tramite SciTE4AutoHotkey e non sono stati rilevati errori. Qualcuno può raccomandare ulteriori passaggi di risoluzione dei problemi che potrei prendere?


1
Senza vedere la sceneggiatura, è difficile dire cosa c'è che non va. La causa più comune è un Return mancante (lo script non ritorna da una subroutine alla quale l'esecuzione era saltata in precedenza). Oppure lo script potrebbe richiedere i privilegi di amministratore per funzionare correttamente (se un altro programma in esecuzione è elevato) ...
user3419297

Capisco. Sfortunatamente, dato il mio caso d'uso di risposte sulla piastra della caldaia, ci sono molte informazioni potenzialmente sensibili che non posso pubblicare. Posso cercare di riprodurre il problema con un'altra sceneggiatura; forse sarebbe sufficiente. Posso dire che lo snippet che ho pubblicato è veramente rappresentativo della struttura. Non c'è flusso di controllo, solo tre blocchi con testo diverso all'interno della definizione della funzione. C'è un modo per vedere se ad AHK potrebbero mancare gli input che hanno lo scopo di attivare lo script? Forse un gancio sta diventando stantio o qualcosa del genere?
bshacklett,

1
Perché non usare due script? Non si mordono l'un l'altro, non si spostano del 50% in un nuovo script ed eseguono entrambi. Ad un certo punto vedrai quale smette di funzionare. Se è lo stesso per ognuno, sposta alcuni punti caldi da quello NON funzionante a quello funzionante e così via. Ad un certo punto troverai quello che potrebbe avere un errore. Alternativa: aggiungi un SetTimer allo script per ricaricare automaticamente (ovvero un comando) lo script ogni cinque minuti circa.
lintalist

1
Qualcosa che mi mordeva molto con l'aggiunta di più cose a uno script multifunzione o non aveva un'istruzione #IfWinActive davanti a un blocco di codice o non aveva un'istruzione #IfWinActive alla fine dello script (che ha corretto per altri problemi al momento, non sono sicuro che sia ancora un problema). Nessuno di questi suona come il tuo problema particolare, ma le dichiarazioni extra #IfWinActive non danneggiano nulla e possono impedire che le cose si rompano inavvertitamente.
JJohnston2,

1
Un'altra cosa da fare per risolvere i problemi potrebbe essere aprire lo script in esecuzione tramite il vassoio e guardare le ultime righe eseguite per vedere se lo script è bloccato da qualche altra parte e non è tornato
JJohnston2,
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.