Autohotkey 特定条件下的WinActivate(包括/排除窗口)

Autohotkey 特定条件下的WinActivate(包括/排除窗口),autohotkey,Autohotkey,如何最好地重新编写我的热键,我被难住了。我想做的很简单。我有一个脚本,如果当前打开,它将切换到文件资源管理器,否则它将打开一个新的文件资源管理器窗口 这里有一个陷阱——很难“识别”资源管理器窗口是否打开。我以前只是使用WinActivate,00123456来实现这一点,因为这是文件夹的名称(八位随机数)。但问题是这些都是支持票号码。这个数字也将出现在我当前Chrome会话的标题中,有时也会出现在其他窗口(Firefox、Snagit、记事本等)的标题中。因此,它会无意中切换到其他程序。因此,我

如何最好地重新编写我的热键,我被难住了。我想做的很简单。我有一个脚本,如果当前打开,它将切换到文件资源管理器,否则它将打开一个新的文件资源管理器窗口

这里有一个陷阱——很难“识别”资源管理器窗口是否打开。我以前只是使用
WinActivate,00123456
来实现这一点,因为这是文件夹的名称(八位随机数)。但问题是这些都是支持票号码。这个数字也将出现在我当前Chrome会话的标题中,有时也会出现在其他窗口(Firefox、Snagit、记事本等)的标题中。因此,它会无意中切换到其他程序。因此,我以这种方式排除:

Ticket_Out := clipboard
xclude:= Ticket_Out . " | Salesforce - Google Chrome"
WinActivate, % Ticket_Out, , % xclude
这很方便,只是一次只排除一个窗口。如何实现排除第二个应用程序的东西?或者——另一种想法,我怎么能说:查找窗口标题为“00123456”的Explorer.exe?

您也可以使用它按进程名称进行筛选:

WinActivate, ahk_exe explorer.exe %Ticket_Out%
另一种方法是查找窗口类-由于根据Windows版本,资源管理器可以使用
CabinetWClass
ExploreWClass
,因此可以使用组,如下图所示:

您也可以使用按进程名称进行筛选:

WinActivate, ahk_exe explorer.exe %Ticket_Out%
另一种方法是查找窗口类-由于根据Windows版本,资源管理器可以使用
CabinetWClass
ExploreWClass
,因此可以使用组,如下图所示: