Solução de problemas na expansão do hotstring no autohotkey

0

Estou experimentando expansões de hotstring inconsistentes em ahk. Por exemplo, o seguinte hotstring

:o:192.::192.168.

funcionou até ontem, mas depois do ciclo de inicialização / reinicialização de hoje, não é.

As teclas de atalho ainda funcionam como esta abaixo

OpenClipboardFileWith(app)
{
    ;Run, Notepad.exe
    fname = %Clipboard% ;Open file in Clipboard, if it exists - similar to functionality in DOPUS
    ;MsgBox Before %fname%
    StringSplit, fname, fname, 'r'n
    ;MsgBox %fname0%
    if (fname0 > 0) {
        ;convert newline seperated files to space seperated arguments for program
        StringReplace, fname, fname, 'r'n, "%A_Space%", All
        fname = "%fname%"
        ;MsgBox parameters are %fname%
    }
    If !FileExist(fname1) {
        ;check for single element first
        fname = 
    }
    Loop %fname0%-1
    {
        element := fname%A_Index%
        ;element = "%element%"
        ;MsgBox %element%
        ;params = %params% %element%
        If !FileExist(element) {
            ;MsgBox Resetting fname as %element% doesn't exist.
            fname = 
        }
    }
    ;MsgBox After %app% %fname%
    Run, %app% %fname%
  return
}
#y::OpenClipboardFileWith(Share "\Programs\@Text\Editors\Notepad2\notepad2.exe") ;;Notepad (open file on clipboard)
#n:: Run, notepad.exe

Então, não sei qual é o problema. Isso acontece dentro e fora e eu tinha experimentado esse problema em outro computador também. Eu estou supondo que tem a ver com o teclado e mouse ganchos. Eu verifiquei na listagem de script (clique direito ícone ahk > vew script info) e estava tudo bem, os ganchos estão instalados.

Como faço para resolver esse problema?

Eu testei se ele está sendo executado como administrador.

MsgBox , , , %A_IsAdmin%

e ele diz: 1. O evento tentou esses programas link e link mas sem ajuda. Mostra-me as teclas de atalho regulares como sendo registradas, mas nada sobre hotstrings. Quaisquer outras ferramentas que possam detectar e classificar esses problemas? A questão link não ajuda.

Alguém mais vendo problemas semelhantes?

Outro problema relacionado pode ser que, arraste & drop randomly pára de funcionar, e eu tenho que usar a imprensa e segure o botão esquerdo do mouse, pressione ESC várias vezes para fazê-lo funcionar (não consistentemente).

Eu estou supondo que dos vários programas instalados no PC, um está causando esse problema.

    
por Vijay 19.01.2013 / 08:37

3 respostas

1

O seu problema com "arrastar e soltar" é um "recurso" menos conhecido do Windows 7. A maneira de restaurar arrastar & soltar até que Redmond tenha encontrado tempo para consertar, é apertar Ctrl + Alt + Del e então quando a página de seleção azul aparecer, pressione ESC novamente. Eu sei que parece estúpido, mas funciona o tempo todo.

Por um motivo ou por outro:

:o:192.::192.168.

ainda requer um espaço, então eu mudei para:

:*:192.::192.168.

O que funciona na perfeição.

    
por 24.01.2013 / 09:07
0

Finalmente começou a funcionar depois de desativar o UAC.

    
por 29.03.2013 / 04:43
0

Eu estava tendo um problema com algumas das minhas expansões não funcionando. Mas o problema foi o script em si. Eu incluí um script que alguém havia escrito, mas eu não sabia como funcionava.

Tinha uma diretiva como

#IfWinActive, ahk_class Blah

Não tem um final em branco

#IfWinActive

O que isso significava era que todas as teclas de atalho e expansões seguindo essa diretiva inicial (que era a maioria das minhas expansões) foram aplicadas apenas no contexto Blah

Para corrigir, adicionei a diretiva extra

#IfWinActive

após o que começou. Isso faz com que o contexto se aplique a qualquer outra coisa.

Um exemplo de um script de problema seria

;This is for in a Console Window
#IfWinActive, ahk_class ConsoleWindowClass
#a::
; Some short cut here
    return

::ex::Some expand which I expect to happen in all situations (which doesn't)

Para corrigir esse script, você precisa fazer o seguinte

;This is for in a Console Window
#IfWinActive, ahk_class ConsoleWindowClass
#a::
; Some short cut here
    return
#IfWinActive

::ex::Some expand which I expect to happen in all situations (which  it now does)

Para mais informações sobre como isso funciona, link

    
por 14.04.2015 / 06:56

Tags