Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autohotkey MsgBox之后的WinMinimize PID_Autohotkey - Fatal编程技术网

Autohotkey MsgBox之后的WinMinimize PID

Autohotkey MsgBox之后的WinMinimize PID,autohotkey,Autohotkey,下面的代码打开记事本,然后打开它。它工作得很好: !^m:: Run, Notepad.exe,,USEERRORLEVEL MAX, PID WinWait, ahk_pid %pid% WinMinimize, ahk_pid %PID% return 但是,如果在最小化记事本窗口之前添加MsgBox以显示PID,则不会最小化后者: !^m:: Run, Notepad.exe,,USEERRORLEVEL MAX, PID WinWait, ahk_pid %pid% MsgBox OK

下面的代码打开记事本,然后打开它。它工作得很好:

!^m::
Run, Notepad.exe,,USEERRORLEVEL MAX, PID
WinWait, ahk_pid %pid%
WinMinimize, ahk_pid %PID%
return
但是,如果在最小化记事本窗口之前添加MsgBox以显示PID,则不会最小化后者:

!^m::
Run, Notepad.exe,,USEERRORLEVEL MAX, PID
WinWait, ahk_pid %pid%
MsgBox OK %PID%
WinMinimize, ahk_pid %PID%
return
为什么?

睡觉没有帮助:

!^m::
Run, Notepad.exe,,USEERRORLEVEL MAX, PID
WinWait, ahk_pid %pid%
MsgBox OK %PID%
Sleep, 2000  ; 2 seconds
WinMinimize, ahk_pid %PID%
return
我使用Windows 7 SP1 x64 Ultimate和AHK 1.1.13.01 2013年10月11日。我对v1.0.48.05版和v1.1.15.02版有相同的问题。我试过的所有AHK版本都是32位的

编辑:

!^WinMinimize,ahk_pid 9156甚至不工作。9156是一个有效的PID

根据MCL的建议,我也尝试了以下方法,但没有成功:

!^t::
PID = 11692
hwnd := WinExist("ahk_pid " pid)
WinMinimize, ahk_id %hwnd%
return

使用此代码,它经过测试并正在工作:

!^m::
Run, Notepad.exe,,MAX, PID
CheckWin:
IfWinExist, Untitled - Notepad
{
    WinWait, Untitled - Notepad
    MsgBox OK %PID%
    WinMinimize, Untitled - Notepad
}
else
{
    Goto, CheckWin
}
return
WinWait和WinMinimize命令不能使用进程ID PID。在我的代码中,我将WinTitle与这些命令一起使用


我正在使用IfWinExist命令来确保notepad.exe已经启动,并且只有在使用WinWait和WinMinimize命令之后才能启动。

对于我来说,您的脚本可以与Win7 SP1 x64 Professional和AHK 32位v1.1.15.00兼容,并且在WinXP SP3兼容模式下运行AHKrights@hippibruder谢谢,我把我的AHK升级到了最新版本,我仍然有同样的问题。是的^WinMinimize,ahk_pid 9156为你工作?在我的计算机上用一些现有的PID替换9156,它不会。首先检索窗口的hwnd怎么样?hwnd:=WinExistahk_pid然后WinMinimize,ahk_id%hwnd%@MCL谢谢,好主意,但不起作用:/