Encerrar programas de terceiros a partir de um programa Delphi é uma operação que geralmente não é recomendada, pois pode ser intrusiva e potencialmente causar problemas de estabilidade e confiabilidade no sistema.
No entanto, em algumas situações específicas, como desenvolvimento de utilitários ou ferramentas de administração, você pode precisar encerrar outros programas. Para fazer isso, você pode usar a função TerminateProcess da API do Windows.
Aqui está um exemplo de como encerrar um processo com base no seu nome (nome do executável) em Delphi:
uses Windows; function TerminateProcessByName(const AProcessName: string): Boolean; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin Result := False; FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := SizeOf(TProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while Integer(ContinueLoop) <> 0 do begin if (UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(AProcessName)) then begin Result := TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0); if not Result then ShowMessage('Não foi possível encerrar o processo.'); Break; end; ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end;
Este é um exemplo simples de uma função chamada TerminateProcessByName que encerrará um processo com base no nome do executável passado como parâmetro. Certifique-se de fornecer apenas o nome do executável (por exemplo, "notepad.exe"), não o caminho completo.
Utilizamos cookies e outras tecnologias semelhantes para melhorar a sua experiência no nosso site.
Ao continuar navegando, você declara que está de acordo com a nossa política de privacidade.
Copyright © TyttoSoft 2018 | Desenvolvido por www.TyttoSoft.com.br