Fórum Processos X Administrador #324259
26/06/2006
0
Hoje uso:
function PararPrograma(Executavel: WideString): Integer; Export; StdCall; const PROCESS_TERMINATE=$0001; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin result := 0; FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := Sizeof(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(Executavel)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(Executavel))) then Result := Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0)); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end;
Abs e Bons Códigos :wink:
Paulocesar1301
Curtir tópico
+ 0Posts
27/06/2006
Nildo
Gostei + 0
27/06/2006
Paulocesar1301
Vou tentas via SendMessage e ver se roda !!!
Vlw camarada !!!
Gostei + 0
27/06/2006
Paulocesar1301
Aos que se interessaram... com Send não rodou, mas com Post sim e rodou mesmo ...
PostMessage(FindWindow(nil, ´MSN Messenger´), WM_CLOSE, 0, 0); PostMessage(FindWindow(nil, ´MSN Messenger´), WM_QUIT, 0, 0);
O único problema é que preciso saber a classe ou o nome da janela, mas como são programas padrão... é fácil de resolver...
Tive que usar o [b:dd3dda74d7]WM_CLOSE[/b:dd3dda74d7] e o [b:dd3dda74d7]WM_QUIT[/b:dd3dda74d7] pq o MSN quando fechasó vai para o tray... adoto como padrão para não ter maiores complicações com outras aplicações do tipo...
Nildo,
Mais uma vez obrigado !! Nem tinha pensado no Send e PostMessage !!
Gostei + 0
27/06/2006
Paulocesar1301
Aos que se interessaram... com Send não rodou, mas com Post sim e rodou mesmo ...
PostMessage(FindWindow(nil, ´MSN Messenger´), WM_CLOSE, 0, 0); PostMessage(FindWindow(nil, ´MSN Messenger´), WM_QUIT, 0, 0);
O único problema é que preciso saber a classe ou o nome da janela, mas como são programas padrão... é fácil de resolver...
Tive que usar o [b:20beac5f2d]WM_CLOSE[/b:20beac5f2d] e o [b:20beac5f2d]WM_QUIT[/b:20beac5f2d] pq o MSN quando fechasó vai para o tray... adoto como padrão para não ter maiores complicações com outras aplicações do tipo...
Nildo,
Mais uma vez obrigado !! Nem tinha pensado no Send e PostMessage !!
Gostei + 0
27/06/2006
Nildo
PostMessage(FindWindow(nil, ´MSN Messenger´), WM_CLOSE, 0, 0); PostMessage(FindWindow(nil, ´MSN Messenger´), WM_QUIT, 0, 0);
:wink:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)