![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
бУРов |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
Программа как-то работает, но найдя нужный мне процесс, при попытке выполнить OpenProcess выводится сообщение: "WARNING: OpenProcess failed with error 18 (There are no more files)" Вроде как предупреждение, и программа работает дальше. Эта ошибка вроде говорит, что произошел запрос на процесс, которого уже нет? Может быть перед OpenProcess нужно привелегий получить? Заменил проверку if( GetLastError() ) проверкой if( hProcess == NULL ) и ошибка не выводится. Только правильно ли так? "If the function succeeds, the return value is an open handle to the specified process. If the function fails, the return value is NULL. To get extended error information, call GetLastError." Вроде, да. Такая проверка также приводится у майкрософта Taking a Snapshot and Viewing Processes Это сообщение отредактировал(а) бУРов - 29.11.2013, 09:57 |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
А ты перед вызовом OpenProcess установил SetLastError(0) ????
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
бУРов |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
Может алгоритм подскажешь?
Задача-то простая, но чет не получается у меня. Нужно получить путь исполняемого файла. Имя его передается как аргумент. Я так мыслю. Сначала CreateToolhelp32Snapshot для процессов Иду по списку процессов. Если нахожу процесс с именем таким же как в параметре, то CreateToolhelp32Snapshot для модулей Иду по списку модулей. И тут мне нужно остановиться только на нужном модуле и вытянуть путь me32.szExePath Но не получается никак. ------ Вроде что-то получилось. Сравниваю название процесса с названием модуля. Если совпадают, то вытаскиваю путь Это сообщение отредактировал(а) бУРов - 29.11.2013, 11:41 |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Смотри предпоследнюю свою тему, а в ней опять я тебя вернул на твою же летнюю тему в которой все есть.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |