单击按钮时要生成按键

时间:2013-02-24 19:20:19

标签: autohotkey

我正在尝试制作一个持久的浮动工具栏,以帮助我在我的Windows平板电脑(无键盘)上执行常见任务,例如“撤消”,“复制”和“删除”。 现在我有这个:

Gui, Destroy
Gui,+AlwaysOnTop
Gui,+ToolWindow
Gui,+Border
Gui, Add, Button, y5 w60, &Undo
Gui, Add, Button, y5 w60, &Delete
Gui, Add, Button, y8 h18, X
Gui, Show, y0
Return

ButtonUndo:
ControlSend,, ^z
Return

ButtonDelete:
ControlSend,, {Backspace}
Return

ButtonX:
ButtonCancel:
Gui, Destroy
ExitApp

End:
Reload
Return

但是当我点击按钮时,它似乎没有做任何其他事情。我是否需要首先专注于不同的窗口?

2 个答案:

答案 0 :(得分:0)

我真的很喜欢这个主意!问题是,只要单击其中一个按钮,焦点就会从您要控制的应用程序中删除... 所以你将命令发送到你自己的AutoHotKey应用程序......

解决此问题的一种简单方法是首先发送 Alt + Esc 然后再发送一个 Alt 睡眠时间为20毫秒,发送命令。

ButtonUndo:
    Send, !{Esc} ; Changed from Alt+Tab
    Sleep, 20
    Send, ^z
Return

答案 1 :(得分:0)

以下是使用Settimer切换的示例

SetTimer, CheckWin, 100; Put at the beginning of your script   

CheckWin:
WinGetTitle, CurrName, A
if (CurrName = PrevName) ; check if window has been changed
    Return ; Only continue if an other application was activated
LastName = %PrevName% ; Use %LastName% in winactivate
PrevName = %CurrName% ; When new app, then sync AppName and PrevName
Return