FindWindow
TerminateProcess
GetWindowThreadProcessId
///////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var
Hdle:THandle;
DW:DWORD;
begin
Hdle:=FindWindow(nil,'Outlook Express');//获得进程句柄
if Hdle<>0 then
begin
GetWindowThreadProcessId(Hdle,@DW);//获得进程id
if DW<>0 then
TerminateProcess(OpenProcess//结束进程(PROCESS_TERMINATE,False,DW),$FFFFFFFF);
end;
end;
TerminateProcess
GetWindowThreadProcessId
///////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var
Hdle:THandle;
DW:DWORD;
begin
Hdle:=FindWindow(nil,'Outlook Express');//获得进程句柄
if Hdle<>0 then
begin
GetWindowThreadProcessId(Hdle,@DW);//获得进程id
if DW<>0 then
TerminateProcess(OpenProcess//结束进程(PROCESS_TERMINATE,False,DW),$FFFFFFFF);
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
Var
FrmHandle:HWND;
Len:Integer;
Str:array[0..255] Of Char;
Begin
ListBox1.Clear;
FrmHandle:=GetWindow(Handle,GW_HWNDFIRST);
While FrmHandle<>0 Do
Begin
If GetWindowText(FrmHandle,@Str,255)>0 Then
ListBox1.Items.Add(StrPas(@Str));
FrmHandle:=GetWindow(FrmHandle,GW_HWNDNEXT);
End;
End;
关闭进程:
procedure TForm1.Button1Click(Sender: TObject);
Var
Str:pchar;
FindHandle:HWND;
Begin
Str:=Pchar(ListBox1.Items[ListBox1.itemindex]);
FindHandle:=FindWindow(nil,Str);
If FindHandle<>0 Then
SendMessage(FindHandle,WM_CLOSE,0,0);
End;