Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/28: Рейтинг темы: голосов - 28, средняя оценка - 4.64
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
1

TerminateProcess

07.06.2012, 20:16. Просмотров 5162. Ответов 12
Метки нет (Все метки)

1)Господа не понятно вот , что - как зная имя окна я могу получить HANDLE ?
2)Где можно почитать о привелегиях доступа , что бы закрывать процессы или хотя бы названия функций .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 20:16
Ответы с готовыми решениями:

Перехват TerminateProcess
Добрый день. У меня такой вопрос. Я перехватываю TerminateProcess и хочу...

Перехват TerminateProcess по примеру Рихтера. Не работает
Очень надо реализовать неубиваемую программу. Переделал код Рихтера под...

Поиск intermodular calls. Как найти адрес, по которому загружен TerminateProcess?
В загруженном в память процессе есть вызовы на различные библиотеки и их...

Отследить TerminateProcess
Могу ли я в своем приложении отследить, когда кто-то снаружи меня мочит, то...

Application->Terminate() vs TerminateProcess()
Необходимо жестко, быстро и безоговорочно убить процесс (свой собственный). При...

12
-=ЮрА=-
Заблокирован
Автор FAQ
07.06.2012, 21:06 2
Цитата Сообщение от Игорь с++ Посмотреть сообщение
1)Господа не понятно вот , что - как зная имя окна я могу получить HANDLE ?
2)Где можно почитать о привелегиях доступа , что бы закрывать процессы или хотя бы названия функций
1-е конено же через OpenProcess
http://www.vsokovikov.narod.ru/New_M...penprocess.htm

Добавлено через 2 минуты
2-е в этой теме мной выложен код позволяющий устанавливать привилегию SE_DEBUG для процесса при открытой групповой политике
Привилегии отладки GetDebugPriv

Добавлено через 56 секунд

Не по теме:

PS:Игорь с++, так по твоим темам смотрю ты что менеджер для системы пишешь?



Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
PS:Игорь с++, так по твоим темам смотрю ты что менеджер для системы пишешь?
- тебе пригодится Как узнать заголовок окна по PID процесса

1
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
07.06.2012, 21:27  [ТС] 3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Игорь с++, так по твоим темам смотрю ты что менеджер для системы пишешь?
что то типо того

Добавлено через 3 минуты
-=ЮрА=-, что то я не пойму , допустим я знаю название окна "Калькулятор" как узнать PID
0
SDmaN
56 / 53 / 8
Регистрация: 22.07.2011
Сообщений: 436
08.06.2012, 01:25 4
C++
1
2
3
HWND hWnd = FindWindow(NULL, "Калькулятор");
DWORD ProcessId; // PID
GetWindowThreadProcessId(hWnd, &ProcessId);
1
-=ЮрА=-
Заблокирован
Автор FAQ
08.06.2012, 09:19 5
Цитата Сообщение от Игорь с++ Посмотреть сообщение
-=ЮрА=-, что то я не пойму , допустим я знаю название окна "Калькулятор" как узнать PID
Посмотри сюда
HWND hwnd- получение...
Кроме этого в этом коде
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
как узнать Заголовок окна на PID процесса
есть этот момент

Добавлено через 1 минуту
c_wndlist.h
C++
1
2
3
4
5
6
void c_wndlist::scan4procs()
{
        ...
       pINFO[nCell].dwTID =  GetWindowThreadProcessId((HWND)pINFO[nCell].dwHWND,
      &pINFO[nCell].dwPID); 
       ....
Добавлено через 35 секунд
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
(HWND)pINFO[nCell].dwHWND
- HWND
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
&pINFO[nCell].dwPID
- &PID
1
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 09:25  [ТС] 6
а HANDLE процесса через OpenProcess и там уже указывать полученый PID,а далее как я понимаю этот HANDLE скармливать NerminateProcess ?
0
-=ЮрА=-
Заблокирован
Автор FAQ
08.06.2012, 09:31 7
Цитата Сообщение от Игорь с++ Посмотреть сообщение
а далее как я понимаю этот HANDLE скармливать NerminateProcess ?
- да именно так
0
-=ЮрА=-
Заблокирован
Автор FAQ
08.06.2012, 09:36 8
Игорь с++, опять же в моей программе всё єто есть посмотри обработку пункта контекстного меню Process->Kill
0
Миниатюры
TerminateProcess  
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 13:18  [ТС] 9
Блин прошу прощения но , что то у меня не получается , вот код -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
static HANDLE han;
 
static HWND hWnd;
 
static DWORD ProcessId; // PID
 
static int Error;
 
    switch (message)                  /* handle the messages */
    {
case WM_CHAR:
 
hWnd = FindWindow(NULL, "ГЉГ*ëüêóëÿòîð");
 
if(hWnd!=0){MessageBox(hwnd,"ГЋГЄГ*Г® îáГ*Г*ðóæåГ*Г*Г®","Г€Г*ôîðìГ*öèÿ",MB_OK);}
 
else{MessageBox(hwnd,"ГЋГЄГ*Г® Г*ГҐ îáГ*Г*ðóæåГ*Г*Г®","Г€Г*ôîðìГ*öèÿ",MB_OK);}
 
     GetWindowThreadProcessId(hWnd, &ProcessId);
 
han = OpenProcess (
                //PROCESS_QUERY_INFORMATION|
                    PROCESS_VM_READ, 
                    false, 
                    ProcessId
                    );
                    
Error=TerminateProcess(han,0);
  
  if(Error!=0){MessageBox(hwnd,"ГЋГЄГ*Г® Г§Г*êðûòî","Г€Г*ôîðìГ*öèÿ",MB_OK);}
 
else{MessageBox(hwnd,"ГЋГЄГ*Г® Г*ГҐ ГіГ¤Г*ВёГІГ±Гї Г§Г*êðûòü","Г€Г*ôîðìГ*öèÿ",MB_OK);}
 
     break;
Добавлено через 9 минут
Извеняюсь всё получилось надо было поставить в OpenProcess -
C++
1
PROCESS_ALL_ACCESS, true,
Всем огромное спасибо.А вот с антивирусами дело обстоит хуже,это не помогает,как быть(вы не подумайте я не вирус пишу,как раз наоборот),там как то подругому?Почему PROCESS_ALL_ACCESS не помогает ?
0
-=ЮрА=-
Заблокирован
Автор FAQ
08.06.2012, 13:31 10
Цитата Сообщение от Игорь с++ Посмотреть сообщение
Почему PROCESS_ALL_ACCESS не помогает ?
- потому что не все процессы открываются вот так с наскоку. НО помогать грохать антивиры не буду из морально этических и вообще правовых соображений (это незаконно в общем случае писать такие программы для распростарнения).
1
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 17:02  [ТС] 11
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
НО помогать грохать антивиры не буду
да мне не антивирь грохнуть надо , я просто пишу прогу которая по нажатию горячей клавиши будет грохать банеры , а про антивирь я сказал просто для того , что если я грохну антивирь то уж думаю и банеры улетать будут , ну надеюсь ясно объяснил . Во всяком случае спасибо , буду дальше разбираться .
0
-=ЮрА=-
Заблокирован
Автор FAQ
08.06.2012, 21:27 12
Игорь с++,
Цитата Сообщение от Игорь с++ Посмотреть сообщение
да мне не антивирь грохнуть надо , я просто пишу прогу которая по нажатию горячей клавиши будет грохать банеры
- для банеров хватит привилегий SE_DEBUG и TerminateProcess (всё это есть в коде моего менеджера окон).
1
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 22:34  [ТС] 13
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
для банеров хватит привилегий SE_DEBUG и TerminateProcess
а вот это уже интересно , нельзя ли по подробней ? И ещё вопрос - PROCESS_ALL_ACCESS может не хватить ?

Добавлено через 9 минут
и ещё если позволиш задам вопрос несколько вопросов -
1) Эта функция BOOL GetDebugPriv(PTOKEN_PRIVILEGES ptkpPrev) устанавливает привелегии для моего процесса ?
2) как её использовать в программе т.е. не совсем понятно , то что должно находиться в скобках (не обессуть если глупые вопросы задаю с этой темой со вчерашнего дня только разбираюсь).

Добавлено через 12 минут
так кое что прояснилось , если я правельно понял в скобках должно быть , что то из вот этого списка ?
SE_TCB_NAME
SE_BACKUP_NAME
SE_TAKE_OWNERSHIP_NAME
SE_DEBUG_NAME
SE_ASSIGNPRIMARYTOKEN_NAME
SE_INCREASE_QUOTA_NAME
SE_INC_BASE_PRIORITY_NAME
SE_LOCK_MEMORY_NAME
SE_SECURITY_NAME
SE_AUDIT_NAME
SE_SHUTDOWN_NAME

Добавлено через 45 секунд
если да , то что лучше применить для банеров ?

Добавлено через 8 минут
блин и из этого списка не чего не ставится , компилятор ругается , как туда впихнуть то ?
0
08.06.2012, 22:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2012, 22:34

TerminateProcess(FileName.exe)
Как завершить процесс в WinXP ? HANDLE hProcess - как это получить?

API функция TerminateProcess
Kto mozet podskazat' primer, funkciju, el. upravlenija pri pomosi kotorogo...

Чем опасен TerminateProcess?
Можно ли (правильно ли) вместо exit, ExitProcess, Close писать такой код?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru