我有一个应用程序(Royal TS),它在应用程序的主窗口中嵌入了 PuTTY 会话。但是,如果另一个应用程序的窗口遮挡了嵌入式 PuTTY 会话,并且我单击嵌入式 PuTTY 会话,则 Royal TS 窗口不会出现在最前面。
因此,我尝试使用以下 AutoHotKey 脚本解决此问题:
LButton:: ; Detect left mouse button click
MouseGetPos, xpos, ypos, win_id ; Get mouse position and window ID
WinGetTitle, title, ahk_id %win_id% ; Get window title
WinGetClass, class, ahk_id %win_id% ; Get window class
if class=PuTTY ; If clicked in an emmbeded PuTTY window...
{ ;
IfWinExist, Royal TS ; ...and Royal TS is running...
{ ;
WinActivate ; ...bring Royal TS to the front
} ;
} ;
else ; Else, it wasn't a PuTTY window clicked...
{ ;
MouseClick, left, xpos, ypos ; ...just pass mouse button click through
} ;
return ;
这工作正常......在一定程度上。当我尝试单击并按住任何应用程序的标题栏以拖动它(或调整应用程序窗口的大小)时,会出现问题,脚本运行并拦截我的左键,但由于向脚本的结尾。
如何区分左键单击和左键单击并拖动操作?