Code: Select all
PIDfromAnyID( anyID="" ) { ; SKAN, 10-May-2014. http://ahkscript.org/boards/viewtopic.php?p=17974#p17974
Process, Exist, %anyID%
IfGreater, ErrorLevel, 0, Return ErrorLevel
DetectHiddenWindows, % SubStr( ( ADHW := A_DetectHiddenWindows ) . "On", -1 )
SetTitleMatchMode, % SubStr( ( ATMM := A_TitleMatchMode ) . "RegEx", -4 )
WinGet, PID, PID, ahk_id %anyID%
IfEqual, PID,, WinGet, PID, PID, %anyID%
DetectHiddenWindows, %ADHW%
SetTitleMatchMode, %ATMM%
Return PID ? PID : 0
}
Code: Select all
MsgBox % PIDfromAnyID() ; Own PID
MsgBox % PIDfromAnyID( "winlogon.exe" ) ; process name
MsgBox % PIDfromAnyID( 4 ) ; validating raw PID
MsgBox % PIDfromAnyID( "MyScript.ahk" ) ; PID of a running script
MsgBox % PIDfromAnyID( "MyScript.ahk ahk_class AutoHotkey" ) ; precise than above
MsgBox % PIDfromAnyID( "Torrent" ) ; part of window title
MsgBox % PIDfromAnyID( A_ScripthWnd ) ; Own PID
MouseGetPos,,, OutputVarWin
MsgBox % PIDfromAnyID( OutputVarWin ) ; PID of Window under mouse