![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Dmitriy2k |
|
|||
![]() шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.11.2005 Репутация: нет Всего: нет |
Я написал простой диспетчер процессов.
Меня интересовало именно завершение процессов код:
но процессы закрываются отнюдь не все, а только лишь запущенные пользовательские программы. как завершить другие процессы? прошу помощи. |
|||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 4 Всего: 17 |
MSDN вам на шо?
hProcess A handle to the process to be terminated. The handle must have the PROCESS_TERMINATE access right. For more information, see Process Security and Access Rights. If the function fails, the return value is zero. To get extended error information, call GetLastError. TerminateProcess initiates termination and returns immediately. This stops execution of all threads within the process and requests cancellation of all pending I/O. The terminated process cannot exit until all pending I/O has been completed or canceled. |
|||
|
||||
| Dmitriy2k |
|
|||
![]() шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.11.2005 Репутация: нет Всего: нет |
Я смотрел MSDN, манипулировал разными ключами, системные процессы не завершются.
Скачал какой то исходник, где написано, что завершает системные процессы - то же результата не дало - системные процессы он не завершает. Если кто с этой проблеммой сталкивался, посоветуйте что нибудь. Или дайте ссылку на исходник. Можно большой и непонятный, но главное чтоб работал. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
SeDebugPrivilege
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Для того, что бы завершать системные процессы надо иметь на это привелегии. Для того, что бы их иметь надо быть системным процессом (под экаунтом LocalSystem, например сервисом). Либо имперсонировать текущий процесс в LocalSystem (не уверен, что это возможно). В общем - копать в MSDN в сторону Impersonate* функций PS. Есть 2 способа завершать такие процессы вручную:
|
|||
|
||||
| Dmitriy2k |
|
|||
![]() шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.11.2005 Репутация: нет Всего: нет |
||||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
||||
|
||||
| alias_trinity |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 10.5.2007 Репутация: 1 Всего: 1 |
Завершай процес по потоках. Работает 100%.
|
|||
|
||||
| rrrFer |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: нет Всего: 1 |
можно system("taskkill ... "): использовать..., про это можешь прочитать в справке по cmd или тут тоже работает на 100%
там есть флажок /f - насильственное завершение процесса -вот с ним можно и системные вроде как завершать Это сообщение отредактировал(а) rrrFer - 29.5.2008, 18:50 |
|||
|
||||
![]()
|
| Правила форума "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. |