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

 



Responder a