Muito obrigado Adilson era bem o que eu precisava! []s
----- Original Message ----- From: "Adilson Nunes" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Sunday, October 24, 2004 9:47 PM Subject: Re: [delphi-br] Função para fechar programas no Tray Gercil Junio escreveu: > Olá! > existe alguma função e/ou comando para fechar um certo programa que > está no Tray ? > Como por exemplo: > Msn, NAV, Winamp e etc > > Obrigado pela atenção! > []s > > * > > > Eu fecho qualquer programa com este abaixo eu o utilizava para fechar o Netscape que estava dando problemas. Mas coloquei um Edit e passo o nome do executável (winword, excel, delphi32, msimn, msnmsgr, etc.) e ele fecha. Se não tiver nada no Edit ele mata o Netscape e fecha. Pode até ser programa travado, mata na hora. Veja se te serve e faça sua adaptações. Delphi 6 http://tetraetila.coolfreepage.com/kill.html unit UnitDieNs; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,Tlhelp32, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Timer1: TTimer; function KillTask(ExeFileName: string): Integer; // É esta a função. procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function TForm1.KillTask(ExeFileName: string): Integer; 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(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then Result := Integer(TerminateProcess( OpenProcess(PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0)); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; procedure TForm1.Button1Click(Sender: TObject); begin KillTask(Edit1.Text+'.exe'); Button1.Caption:=('Dead ...'); sleep(2000); Button1.Caption:=('tetraetila®'); Edit1.Text:=(''); Edit1.SetFocus; Application.Terminate; end; procedure TForm1.FormCreate(Sender: TObject); begin KillTask('Netscp.exe'); end; procedure TForm1.Timer1Timer(Sender: TObject); begin if Edit1.Text='' then Application.Terminate; end; end. -- ---------------------------------- Adilson Nunes - tetraetila® ? õ¿õ¬ (¬) Linux Registered User # 272492 ---------------------------------- [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html