|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 11, 2003 21:30:27 Доброе время суток! Возник вопрос: как завершить процесс (в том числе и системный)? В частности, нужно завершить Explorer.exe, чтобы передать управление другой программе. (Для любого Windows.) Пожалуйста, приведите исходный код. Заранее благодарен! 1990. |
|
|
Дата: Сен 11, 2003 21:42:38 TerminateProcess, но explorer трогать нельзя, с этого ничего хорошего не получится! |
|
|
Дата: Сен 12, 2003 09:40:28 Не обязательно Explorer. TerminateProcess - я не знаю как использовать функцию. Судя по ICZTUTES - надо вначале создать процесс? Простите за безграмотность! 1990 |
|
|
Дата: Сен 12, 2003 10:40:26 · Поправил: Four-F [ 1990: как завершить процесс (в том числе и системный)? ] Если у процесса есть окно, то сначала можно попробовать послать ему WM_QUIT. Если не получается, то TerminateProcess. Вот оба примера - в качестве жертвы калькулятор. ; Заставляем процесс завершиться корректно .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\user32.inc includelib \masm32\lib\user32.lib .data szTargetClassName db "SciCalc", 0 .code start: invoke FindWindow, addr szTargetClassName, NULL push eax invoke GetWindowThreadProcessId, eax, esp invoke PostThreadMessage, eax, WM_QUIT, 0, 0 pop eax ret end start ; Если сопротивляется убиваем ;-) .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib .data szTargetClassName db "SciCalc", 0 .code start: invoke FindWindow, addr szTargetClassName, NULL push eax invoke GetWindowThreadProcessId, eax, esp pop eax invoke OpenProcess, PROCESS_TERMINATE, FALSE, eax push eax ; CloseHandle invoke TerminateProcess, eax, 0 call CloseHandle ret end start PS: Explorer не системный, а обычный процесс, такой же как калькулятор или блокнот. |
|
|
Дата: Сен 12, 2003 11:09:09 Four-F Огромное спасибо! Вы мне очень помогли! |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.033 |