2014-11-03 3 views
0

Я пытаюсь создать приложение на основе ключевого счетчика. Ниже мой сценарийAutohotkey Application Keycounter

#UseHook 
KeyCount=0 
#If WinActive("Ahk_Class XLMAIN") Or WinActive("Ahk_Class Notepad") 
Loop 
{ 
Input, Key, L1 I V, , 
AscKey:=Asc(Key) 
If (AscKey > 31 && AscKey < 127) 
KeyCount:=KeyCount+1 
} 
#If 
^+o:: 
msgbox %KeyCount% 
return 

Как команды WinActive говорит, что следует рассчитывать нажатия клавиш, если активное окно либо Excel или блокнот. Но этот скрипт учитывает все нажатия клавиш. Я что-то упускаю?

+0

Попробуйте '# IfWinActive' вместо' # Если WinActive ("blahblah") '. см. Документы [здесь] (http://ahkscript.org/docs/commands/_IfWinActive.htm). –

ответ

1

Вы не использовать #if его только для горячих клавиш и автозамен, но вы можете использовать обычный если Постулаты как этого

#UseHook 
KeyCount=0 


Loop 
{ 
    Input, Key, L1 I V 
    If (WinActive("Ahk_Class XLMAIN") Or WinActive("Ahk_Class Notepad")) 
    { 
     AscKey:=Asc(Key) 
     If (AscKey > 31 && AscKey < 127) 
     KeyCount++ 
    } 
} 


^+o:: 
msgbox %KeyCount% 
return 

Надеетесь, что это помогает