OpenProcess

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

krukovis84
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 108
Зарегистрирован: 04.08.2009 (Вт) 11:16
Откуда: Кочевник

OpenProcess

Сообщение krukovis84 » 02.10.2010 (Сб) 16:27

Всем привет!
Что то лыжи не едут... Вот описание проблемы:
Объявляю 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 ?

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: OpenProcess

Сообщение arvitaly » 02.10.2010 (Сб) 17:09

Скорее всего просто нет доступа к процессу с такими правами

krukovis84
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 108
Зарегистрирован: 04.08.2009 (Вт) 11:16
Откуда: Кочевник

Re: OpenProcess

Сообщение krukovis84 » 02.10.2010 (Сб) 19:22

arvitaly писал(а):Скорее всего просто нет доступа к процессу с такими правами


У меня Vista. Как получить тут абсолютную власть?

krukovis84
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 108
Зарегистрирован: 04.08.2009 (Вт) 11:16
Откуда: Кочевник

Re: OpenProcess

Сообщение krukovis84 » 02.10.2010 (Сб) 20:15

Спасибо! Все заработало.
Достаточно было в настройках учетной записи убрать контроль учетных записей (UAC). Я просто только систему переставил, еще не убрал эту замечательную функцию. :D


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

    TopList