Всем привет !
Помогите разобраться.
Есть код, который вроде бы должен делать активным - окно с определенным названием пройесса.
Но он - не работает.
У меня открыто четыре программы TotalCommander - и этот файл делает активным окна - не по названию процесса, а по каким-то другим критериям.
Возможно определение окна идет по PID, но он у всех четырех окон одинаковый.
То есть код находит процесс с определенным названием, определяет его PID, но делает активным - не то окно.
Подскажите - как изменить этот код, чтобы он сделал активным окно с определенным названием процесса ?
Помогите разобраться.
Есть код, который вроде бы должен делать активным - окно с определенным названием пройесса.
Но он - не работает.
У меня открыто четыре программы TotalCommander - и этот файл делает активным окна - не по названию процесса, а по каким-то другим критериям.
Возможно определение окна идет по PID, но он у всех четырех окон одинаковый.
То есть код находит процесс с определенным названием, определяет его PID, но делает активным - не то окно.
Код:
#include <WinAPIEx.au3>
$sProg = "TOTALCMD64-4.EXE"
If Not ProcessExists($sProg) Then MsgBox(0,'','Процесс не существует')
$sTitl = _WinGetForProc($sProg)
WinSetState($sTitl,'',@SW_SHOW)
WinActivate($sTitl)
Func _WinGetForProc($sProcName)
$alist = ProcessList($sProcName)
For $i = 1 To $alist[0][0]
$iProcPid = $alist[$i][1]
Next
$aData = _WinAPI_EnumProcessWindows($iProcPid, 1)
$iWin = $aData[1][0]
$sTitle = WinGetTitle($iWin)
Return $sTitle
EndFunc ;==>_WinGetForProc
Подскажите - как изменить этот код, чтобы он сделал активным окно с определенным названием процесса ?