Autohotkey AHK WinActivate无法排除
我只想在WinActivate中排除Google Chrome。从完全限定窗口标题到使用变量、字符串,我已经尝试了所有的方法,但这些都不管用。它总是切换到chrome,因为我打开了两个与字符串匹配的窗口——chrome和windows资源管理器。我想切换到windows资源管理器Autohotkey AHK WinActivate无法排除,autohotkey,Autohotkey,我只想在WinActivate中排除Google Chrome。从完全限定窗口标题到使用变量、字符串,我已经尝试了所有的方法,但这些都不管用。它总是切换到chrome,因为我打开了两个与字符串匹配的窗口——chrome和windows资源管理器。我想切换到windows资源管理器 Ticket_Out := "00123456" xclude:= Ticket_Out . "00123456 | Salesforce - Google Chrome" W
Ticket_Out := "00123456"
xclude:= Ticket_Out . "00123456 | Salesforce - Google Chrome"
WinActivate % Ticket_Out,, xclude, ; doesn't work
WinActivate, "00123456",, "00123456 | Salesforce - Google Chrome", ; also doesn't work
我知道有一个WinActivateBottom,但我真的想避免使用它。我真的很想让这台机器工作。“我的语法”或“我的命令”有什么问题?任何命令中的每个参数(除非另有规定)都使用传统语法
WinActivate % Ticket_Out,, xclude,
WinActivate, "00123456",, "00123456 | Salesforce - Google Chrome",
在第一个参数中,通过使用%
加空格关闭参数,可以正确地强制第一个参数中的表达式。但是,在第三个参数中,您再次使用传统语法,只需键入xclude
。这将被解释为文本,而不是变量。用%
和空格也关闭该参数
在第二个例子中,你也没有对任何一个参数计算表达式,所以它们都被解释为文本包括引号。在传统语法中,您不引用字符串,因为默认情况下,所有内容都是文本
WinActivate, % Ticket_Out, , % xclude
WinActivate, % "00123456", , % "00123456 | Salesforce - Google Chrome"
还删除了尾随的逗号。他们不属于那里。现在它应该可以工作了,假设窗口标题和您的
除了使用exclude参数外,您还可以在指定窗口标题时更加具体。
例如,您可以这样使用:
WinActivate, % "Title Of My Window ahk_exe chrome.exe"
现在您只匹配来自名为chrome.exe
的进程的窗口
总的来说,您的问题主要来自不知道传统语法和现代表达式语法之间的区别。
这里有一个很好的文档页面,可以帮助您了解这些差异: