|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.09.2014, 17:46 | #1 |
Пользователь
Регистрация: 02.08.2011
Сообщений: 21
|
еще раз о процессах
Разьясните крестьянину,сам не пойму.Использую такой код для гашения процесса.Но не могу выделить самый первый процесс.
Код:
|
02.09.2014, 18:55 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Почему-то мне кажется, что strProcess присваивается дважды - первый раз для первого процесса а потом для каждого следующего.
|
02.09.2014, 19:17 | #3 |
Пользователь
Регистрация: 02.08.2011
Сообщений: 21
|
strProcess можно совсем убрать,имя процесса брать прямо из "proc.szExeFile".Это ничего не меняет.Пробовал разные варианты кода,результат- одинаковый. Функция сравнения не видит этого имени.Попутно вопрос:функция Process32Next,должна извлекать имя первого процесса? Или это делает только Process32First ?
|
02.09.2014, 21:01 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Process32First извлекает имя первого процесса.
На вашем месте я бы печатал name и szExeName на каждой итерации. |
03.09.2014, 01:32 | #5 |
Пользователь
Регистрация: 02.08.2011
Сообщений: 21
|
Продолжение изысканий.Попробовал наХР компилятор devcpp посмотреть как работают эти же функции.Увидел почти то же самое:В общем списке самый первый процесс "system".Но выделить его при помощи аналогичной функции strcmp- фигвам.NK.exe как бы аналог system.Нужен какой то другой подход.Конечно нет смысла убивать такие процессы,чисто дело прнинципа))Спасибо за советы,я кажется уже все перепробовал.
|
03.09.2014, 08:09 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
03.09.2014, 09:33 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
03.09.2014, 13:12 | #8 |
Пользователь
Регистрация: 02.08.2011
Сообщений: 21
|
Отладку делал.Вот код для devcpp.Если вместо explorer.exe вписать system(а это процесс first) условие if не выполняется.По крайней мере у меня так.
Код:
|
03.09.2014, 13:26 | #9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
У вас неинициализирована PROCESSENTRY32 структура.
|
03.09.2014, 14:14 | #10 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,601
|
Пример: http://msdn.microsoft.com/ru-ru/libr...(v=vs.85).aspx
Первый процесс это SYSTEM и он не NK.EXE. Не понимаю зачем его грохать если это не nk,exe? Открытие процесса: HANDLE ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS,FALS E, proc.th32ProcessID); Нужно установить полные права доступа. Закрытие процесса: TerminateProcess(ProcessHandle, 0); Вроде вы правильно делаете.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
Последний раз редактировалось challengerr; 03.09.2014 в 14:17. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Еще раз о списках | tae1980 | Microsoft Office Excel | 12 | 02.09.2013 11:44 |
еще раз файлы в С | серг | Общие вопросы C/C++ | 27 | 19.02.2010 12:36 |
Еще раз о списках | tae1980 | Microsoft Office Excel | 2 | 23.05.2009 16:51 |