Что то лыжи не едут... Вот описание проблемы:
Объявляю API функу
- Код: Выделить всё
<DllImport("kernel32.dll", SetLastError:=True)> _
Public Shared Function OpenProcess(ByVal iDesiredAccess As Integer, ByVal bInheritHandle As Boolean, ByVal iProcessId As Integer) As IntPtr
End Function
Дальше пытаюсь получить хэндл процесса так:
- Код: Выделить всё
Dim Handle As IntPtr
Dim iDesiredAccess As Integer = &H1F0FFF
Dim bInheritHandle As Boolean = True
Dim iProcessID As Integer = &H9C0
Handle = OpenProcess(iDesiredAccess, bInheritHandle, iProcessID)
iProcessID объявляю явно уже даже, а в общем случае ProcessID я тоже через API функу нахожу и проверяю с помощью проги Process Explorer. И так и так совпадает ProcessID
Получаю на выходе Handle = 0.
Подозреваю, что от меня скрывают истинный ProcessID. Т.к. у других окон Handle я найти могу, а у нужного мне окна - нет. Каким образом все таки выяснить Handle или истинный ProcessID ?