Autohotkey 通过Authohotkey控制事件处理?

Autohotkey 通过Authohotkey控制事件处理?,autohotkey,Autohotkey,我正在编写一个自动热键脚本,需要在其中处理控制事件。更具体地说,我有一个编辑和一个好友上下控件。当用户在编辑中按Enter键时,我需要响应/处理事件,或者作为另一个示例,我需要响应由上/下控制引起的更改(用户使用箭头键上/下编辑值或单击那些小的上/下按钮并不重要) 请给我一个关于如何处理控件事件的提示,特别是关于编辑和上下控件的提示。Edit控件文档: UpDown控制文档: OnMessage()函数文档: 实施示例: Gui, Add, Edit, gEventHandler vMyE

我正在编写一个自动热键脚本,需要在其中处理控制事件。更具体地说,我有一个编辑和一个好友上下控件。当用户在编辑中按Enter键时,我需要响应/处理事件,或者作为另一个示例,我需要响应由上/下控制引起的更改(用户使用箭头键上/下编辑值或单击那些小的上/下按钮并不重要)


请给我一个关于如何处理控件事件的提示,特别是关于编辑和上下控件的提示。

Edit
控件文档:

UpDown
控制文档:

OnMessage()
函数文档:

实施示例:

Gui, Add, Edit, gEventHandler vMyEditControl
Gui, Add, UpDown, vMyUpDown Range1-10, 5
Gui, Show
OnMessage(WM_KEYUP:=0x101,"WM_KEYUP") ; WM_KEYUP msg, see http://msdn.microsoft.com/library/ms646281
return

GuiClose: ; exit app on 'guiclose' event
ExitApp

EventHandler: ; This label is launched when the contents of the edit has changed
    GuiControlGet,value,,MyEditControl
    MsgBox MyEditControl contains "%value%".
return

WM_KEYUP(wParam, lParam) { ; this function is launched on 'Key Up' event
    if (wParam==0x0D) ; vk codes, see http://msdn.microsoft.com/library/dd375731
        MsgBox Enter was pressed in MyEditControl.
}
或者, 如果窗口上有多个编辑控件,并且希望处理特定编辑控件的Enter键,则可以通过以下方式进行改进:

WM_KEYUP(wParam, lParam) 
{ 
    ; vk codes, see http://msdn.microsoft.com/library/dd375731
    IF (wParam==0x0D) ; 'Key Up' event for 'Enter'  
    {
        GuiControlGet, FocusCtrl, FocusV
        IF (FocusCtrl="MyEditControl") ; Focus is on MyEditControl Edit control
        {
            ; when Enter is pressed and when MyEditControl has the keyboard focus
            MsgBox Enter Presses on MyEditControl   
        }
    }    
}

特别感谢Joe DF的帮助性回答和出色的文档。

很好的叉子,看起来我的awswer很好地帮助了你!;)谢谢你的回答,乔;在Stackoverflow中是否有一个链接或什么东西可以接受答案?@davide每个答案的左侧,traingle upvote和downvote按钮的正下方都有一个复选标记形状的图标。您可以向上投票任何有价值的答案,但只接受一个选定的答案。完美。谢谢。:)很高兴我能帮忙:)