背景:
所以我使用资源管理器工具Q-Dir(链接到主页)。
在Q-Dir中,您可以为要定期访问的文件夹添加书签。 您可以按Ctrl + Q快捷键到这些书签。这将打开已添加书签的文件夹的跳转列表。
所以我想打开名为“Kundenprojekte”(客户项目)的项目文件夹。 在所述跳转列表打开时按“K”,在当前选项卡中打开该文件夹。
所以我的问题出现在这里:
这整个过程是我想用AHK映射的,让我们说WinKey + B.
到目前为止,这是我的代码:
#b::
qdirId := WinExist("Q-Dir 5.98.9") ; I don't know if this works I got some
; inspiration by another AHK script
if (qdirId = 0) {
MsgBox Q-Dir ist nicht geöffnet. ; Q-Dir is not open.
IfWinExist, "Q-Dir 5.98.9"
{
WinActivate, "Q-Dir 5.98.9" ;I know this doesn't work plz help
SetKeyDelay 10,1000
Send, ^{Q}
SetKeyDelay, 10
Send {K}
return
}
}
return
是的,到目前为止,IfWinExist没有“其他”。而且我认为不会有,因为我需要以管理员身份运行Q-Dir(由于UAC阻止对我的C:驱动器进行写操作)但是这并不重要(因为我通常首先启动Q-Dir作为我的第一个启动后的程序。)
我遇到的主要问题是“发送Control + Q”然后“K”开始工作。
我得到它发送“K”,但没有一次被“Ctrl + Q”识别。
知道我做错了吗?
提前谢谢你:)
答案 0 :(得分:0)
SetTitleMatchMode, 2 ; The window's title should contain "Q-Dir 5.98.9"
#b::
qdirId := WinExist("Q-Dir 5.98.9")
if (qdirId = 0)
{
MsgBox Q-Dir ist nicht geöffnet. ; Q-Dir is not open.
return ; stops code from going any further, to the lines below
}
; otherwise:
WinActivate, Q-Dir 5.98.9
WinWaitActive, Q-Dir 5.98.9 ; important
SetKeyDelay 10,1000
Send, ^{Q}
; Try also:
; Send, {CTRLDOWN}q{CTRLUP}
; SendEvent {CTRL DOWN}{q DOWN}{CTRL UP}{q Up}
SetKeyDelay, 10
Send {K}
return