Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Вниз

Красиво убить другое приложение?   Найти похожие ветки 

 
Serhio   (2003-11-02 19:11) [0]

Подскажите, как можно красиво убить чужое приложение?

Ситуация такая: я знаю дескриптор главного окна приложения и посылаю ему WM_CLOSE, если у приложения в данный момент не открыто ни одного дочернего окна, то оно закрывается без проблем, если же было открыто дочернее окно, то приложение закрывается, но винда говорит "Application Error" - не хорошо


 
Nick Denry   (2003-11-02 20:53) [1]

TerminateProcess see F1 Win32SDK


 
kostik78ua   (2003-11-03 09:44) [2]

function NTKillProcess(iProcessID: Integer): Integer;
var
hProcess: Integer;
pfnExitProcess: Pointer;
hInstance: Integer;
hThread: DWORD;
begin
Result:=ERROR_SUCCESS;

hProcess:=OpenProcess(PROCESS_ALL_ACCESS, FALSE, iProcessID);

if hProcess > 0 then begin
hInstance:=GetModuleHandle("KERNEL32.DLL");
pfnExitProcess:=GetProcAddress(hInstance, "ExitProcess");
hThread:=CreateRemoteThread(hProcess, nil, 0, pfnExitProcess, nil, 0,hThread);
if hThread>0 then begin
WaitForSingleObject(hThread, 40000);
if not CloseHandle(hThread) then Result:=GetLastError;
end else Result:=GetLastError;
CloseHandle(hProcess);
end else Result:=GetLastError;
end;

Копирайт - не мой :)


 
Дубинин Алексей   (2003-11-03 23:57) [3]

Например H это тот дескриптор который ты знаешь. Далее проще...

var
a: Cardinal;
H1: HWND;
begin
GetWindowThreadProcessID(H, @a);
H1 := OpenProcess(PROCESS_TERMINATE, True, a);
TerminateProcess(a, 0);//Убьет наповал :-)
end;


 
Serhio   (2003-11-04 17:31) [4]

Спасибо, заработало, только в приведенном примере, в строке
TerminateProcess(a, 0);//Убьет наповал :-)
вместо "а" надо поставить "H1", тогда точно убивает...


 
DVM   (2003-11-04 21:00) [5]

Сначала попробуйте закрыть программу по-хорошему, а то после TerminateProcess остается много мусора.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
1-11923
Alexious
2003-12-17 23:34
2004.01.05
Парсер


14-12107
Undert
2003-12-15 00:28
2004.01.05
Кто что знает про Хаффмана ? (Huffman)


3-11837
koks
2003-12-04 10:01
2004.01.05
Вопрос к спецам по QuantumGrid4


1-11896
TUser
2003-12-18 12:54
2004.01.05
extract


14-12161
Diablo
2003-12-09 23:18
2004.01.05
Посещаемость сайта упала





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский