Всем привет :) Как узнать какой(ие) файл(ы) используется определенным процессом?
Ganibal95 GreenBytes Сообщения 877 Репутация 240 4 Ноя 2011 #1 Всем привет Как узнать какой(ие) файл(ы) используется определенным процессом?
Medic84 Омега Команда форума Администратор Сообщения 1,590 Репутация 341 4 Ноя 2011 #2 Unlocker показывает, какие файлы используются процессом.
Автор Ganibal95 GreenBytes Сообщения 877 Репутация 240 4 Ноя 2011 #3 А я даже не догадывался что Unloker показывает... Мистика... ;D Это нужно узнать Autoit'ом!!! Именно по PID нужно узнать расположение файла ну и сам файл...
А я даже не догадывался что Unloker показывает... Мистика... ;D Это нужно узнать Autoit'ом!!! Именно по PID нужно узнать расположение файла ну и сам файл...
kaster Мой Аватар, он лучший самый Команда форума Глобальный модератор Сообщения 4,020 Репутация 626 4 Ноя 2011 #4 уже не один раз приводили такой инстурмент - Handle от старины марка
Yashied Модератор Команда форума Глобальный модератор Сообщения 5,379 Репутация 2,724 4 Ноя 2011 #5 _WinAPI_EnumProcessHandles() _WinAPI_EnumProcessModules()
Автор Ganibal95 GreenBytes Сообщения 877 Репутация 240 4 Ноя 2011 #6 Yashied Мне нужно точно определить что за файл и где находится... А тут он говорит что просто File... Код: #Include <APIConstants.au3> #Include <Array.au3> #Include <WinAPIEx.au3> Opt('MustDeclareVars', 1) Global Const $PID = @AutoItPID Global $Data, $hSource, $hTarget, $hObject $Data = _WinAPI_EnumProcessHandles($PID,28) If IsArray($Data) Then $hTarget = _WinAPI_GetCurrentProcess() $hSource = _WinAPI_OpenProcess($PROCESS_DUP_HANDLE, 0, $PID) If $hSource Then For $i = 1 To $Data[0][0] $hObject = _WinAPI_DuplicateHandle($hSource, $Data[$i][0], $hTarget) If Not @error Then $Data[$i][1] = _WinAPI_GetObjectNameByHandle($hObject) _WinAPI_CloseHandle($hObject) EndIf Next EndIf EndIf _ArrayDisplay($Data, '_WinAPI_EnumProcessHandles')
Yashied Мне нужно точно определить что за файл и где находится... А тут он говорит что просто File... Код: #Include <APIConstants.au3> #Include <Array.au3> #Include <WinAPIEx.au3> Opt('MustDeclareVars', 1) Global Const $PID = @AutoItPID Global $Data, $hSource, $hTarget, $hObject $Data = _WinAPI_EnumProcessHandles($PID,28) If IsArray($Data) Then $hTarget = _WinAPI_GetCurrentProcess() $hSource = _WinAPI_OpenProcess($PROCESS_DUP_HANDLE, 0, $PID) If $hSource Then For $i = 1 To $Data[0][0] $hObject = _WinAPI_DuplicateHandle($hSource, $Data[$i][0], $hTarget) If Not @error Then $Data[$i][1] = _WinAPI_GetObjectNameByHandle($hObject) _WinAPI_CloseHandle($hObject) EndIf Next EndIf EndIf _ArrayDisplay($Data, '_WinAPI_EnumProcessHandles')
Yashied Модератор Команда форума Глобальный модератор Сообщения 5,379 Репутация 2,724 5 Ноя 2011 #7 Код: #Include <APIConstants.au3> #Include <Array.au3> #Include <WinAPIEx.au3> Global Const $PID = @AutoItPID $Data = _WinAPI_EnumProcessHandles($PID, 28) If IsArray($Data) Then $hTarget = _WinAPI_GetCurrentProcess() $hSource = _WinAPI_OpenProcess($PROCESS_DUP_HANDLE, 0, $PID) If $hSource Then For $i = 1 To $Data[0][0] $hObject = _WinAPI_DuplicateHandle($hSource, $Data[$i][0], $hTarget) If Not @error Then Switch $Data[$i][3] Case 0x00100000, 0x00120189, 0x0012019F $Data[$i][1] = _WinAPI_GetObjectNameByHandle($hObject) Case Else If _WinAPI_GetVersion() >= '6.0' Then $Data[$i][1] = _WinAPI_GetFinalPathNameByHandleEx($hObject) Else $Data[$i][1] = _WinAPI_GetFinalPathNameByHandle($hObject) EndIf EndSwitch _WinAPI_CloseHandle($hObject) EndIf Next EndIf EndIf _ArrayDisplay($Data, '_WinAPI_EnumProcessHandles')
Код: #Include <APIConstants.au3> #Include <Array.au3> #Include <WinAPIEx.au3> Global Const $PID = @AutoItPID $Data = _WinAPI_EnumProcessHandles($PID, 28) If IsArray($Data) Then $hTarget = _WinAPI_GetCurrentProcess() $hSource = _WinAPI_OpenProcess($PROCESS_DUP_HANDLE, 0, $PID) If $hSource Then For $i = 1 To $Data[0][0] $hObject = _WinAPI_DuplicateHandle($hSource, $Data[$i][0], $hTarget) If Not @error Then Switch $Data[$i][3] Case 0x00100000, 0x00120189, 0x0012019F $Data[$i][1] = _WinAPI_GetObjectNameByHandle($hObject) Case Else If _WinAPI_GetVersion() >= '6.0' Then $Data[$i][1] = _WinAPI_GetFinalPathNameByHandleEx($hObject) Else $Data[$i][1] = _WinAPI_GetFinalPathNameByHandle($hObject) EndIf EndSwitch _WinAPI_CloseHandle($hObject) EndIf Next EndIf EndIf _ArrayDisplay($Data, '_WinAPI_EnumProcessHandles')
Автор Ganibal95 GreenBytes Сообщения 877 Репутация 240 5 Ноя 2011 #9 Yashied Он видит не все файлы, а точнее он их просто пропускает пишет 0 или File :reading_book: А AnVir Показывает все точно...
Yashied Он видит не все файлы, а точнее он их просто пропускает пишет 0 или File :reading_book: А AnVir Показывает все точно...