Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/46: Рейтинг темы: голосов - 46, средняя оценка - 4.70
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033

TerminateProcess

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

Студворк — интернет-сервис помощи студентам
1)Господа не понятно вот , что - как зная имя окна я могу получить HANDLE ?
2)Где можно почитать о привелегиях доступа , что бы закрывать процессы или хотя бы названия функций .
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2012, 20:16
Ответы с готовыми решениями:

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

Перехват TerminateProcess по примеру Рихтера. Не работает
Очень надо реализовать неубиваемую программу. Переделал код Рихтера под TerminateProcess. dll должна менять адрес оригинальной функции на...

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

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

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

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

Не по теме:

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



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

Не по теме:

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

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

Добавлено через 3 минуты
-=ЮрА=-, что то я не пойму , допустим я знаю название окна "Калькулятор" как узнать PID
0
60 / 57 / 8
Регистрация: 22.07.2011
Сообщений: 436
08.06.2012, 01:25
C++
1
2
3
HWND hWnd = FindWindow(NULL, "Калькулятор");
DWORD ProcessId; // PID
GetWindowThreadProcessId(hWnd, &ProcessId);
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.06.2012, 09:19
Цитата Сообщение от Игорь с++ Посмотреть сообщение
-=ЮрА=-, что то я не пойму , допустим я знаю название окна "Калькулятор" как узнать 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
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 09:25  [ТС]
а HANDLE процесса через OpenProcess и там уже указывать полученый PID,а далее как я понимаю этот HANDLE скармливать NerminateProcess ?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.06.2012, 09:31
Цитата Сообщение от Игорь с++ Посмотреть сообщение
а далее как я понимаю этот HANDLE скармливать NerminateProcess ?
- да именно так
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.06.2012, 09:36
Игорь с++, опять же в моей программе всё єто есть посмотри обработку пункта контекстного меню Process->Kill
Миниатюры
TerminateProcess  
0
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 13:18  [ТС]
Блин прошу прощения но , что то у меня не получается , вот код -
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
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.06.2012, 13:31
Цитата Сообщение от Игорь с++ Посмотреть сообщение
Почему PROCESS_ALL_ACCESS не помогает ?
- потому что не все процессы открываются вот так с наскоку. НО помогать грохать антивиры не буду из морально этических и вообще правовых соображений (это незаконно в общем случае писать такие программы для распростарнения).
1
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 17:02  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
НО помогать грохать антивиры не буду
да мне не антивирь грохнуть надо , я просто пишу прогу которая по нажатию горячей клавиши будет грохать банеры , а про антивирь я сказал просто для того , что если я грохну антивирь то уж думаю и банеры улетать будут , ну надеюсь ясно объяснил . Во всяком случае спасибо , буду дальше разбираться .
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.06.2012, 21:27
Игорь с++,
Цитата Сообщение от Игорь с++ Посмотреть сообщение
да мне не антивирь грохнуть надо , я просто пишу прогу которая по нажатию горячей клавиши будет грохать банеры
- для банеров хватит привилегий SE_DEBUG и TerminateProcess (всё это есть в коде моего менеджера окон).
1
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
08.06.2012, 22:34  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
для банеров хватит привилегий 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2012, 22:34
Помогаю со студенческими работами здесь

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

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

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

API функция TerminateProcess
Kto mozet podskazat' primer, funkciju, el. upravlenija pri pomosi kotorogo mozno cita' sobitija Windows NT ili windows

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных выбран регистр накопления, в. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru