好吧,我觉得这是最后的脚本....
通常所有的按键时3秒,除非您按F6的行为像往常一样,那么你可以使用热键。只要你使用热键,行为就会再次恢复正常(3秒只有在你没有按热键的情况下)。当你按两次F6时,它将发送F6。让我知道,如果你找到了一个更简单的解决方案,因为这是相当复杂的。
FormatTime, DateRef, %TimeNow%, yyyyMMdd ; Store current date in variable DateRef
MyLogFile = %A_ScriptDir%\LogFile-%DateRef%.txt ; Define the name of the log file for today.
FormatTime, TimeAbsolute, %TimeNow%, HH:mm:ss
FileAppend, | %TimeAbsolute% | Your hotkey and possibly in which application`n`r,%MyLogFile% ; Write logfile
SpecialF6:=1
Suspend, On
Return
$F6::
Suspend, Permit
If SpecialF6
{
Suspend, Off
ToolTip Hotkeys On for 3 seconds,A_ScreenWidth/2-50,0
SpecialF6:=0
SetTimer, SuspendOn, 3000
Return
}
else
{
Send, {F6}
MyText = F6
Gosub, WriteClose
}
Return
SuspendOn:
Suspend, On
SetTimer, SuspendOn, Off
ToolTip
SpecialF6:=1
return
F5::
Run explorer
MyText = F5 Run Explorer
Gosub, WriteClose
Return
t::
Run notepad
MyText = t Run Notepad
Gosub, WriteClose
Return
!+5::
Run cmd
MyText = Alt Shift 5 Run Command
Gosub, WriteClose
return
WriteClose:
Suspend, On
SetTimer, SuspendOn, Off
FormatTime, TimeAbsolute, %TimeNow%, HH:mm:ss
ToolTip
SpecialF6:=1
FileAppend, | %TimeAbsolute% | %MyText%`n`r,%MyLogFile% ; Write logfile
Exit
而是与输入命令捕获键(未定长度由于各种可能的调节剂),也许你可以触发类似WM_KEYUP。对于每个按下的键,追踪每个按下的键(修饰键)。不断监测最后按下的按键,看看它是否被释放。按住最后一个按键的这个按钮就是你按下热键的触发器,并触发继续脚本。 – 2012-07-29 10:45:31
B.t.w.你能否展示你在同一时间做了什么来尝试解决这个问题? – 2012-07-29 10:47:53
我一直在寻找帮助,网络和查看关键记录器脚本......我看不到一个干净的解决方案......我将坚持有一个热键来切换所有热键的暂停(除了切换热键热键),然后当我将超过阴影的按键传递给底层程序时重新开启....我希望能够保存自己在按下热键后再按下按钮。我在linux窗口管理器中使用了函数quote-event来实现这个功能...感谢所有的帮助Robert – dericbytes 2012-07-30 09:37:50