使用API函数FindWindowif FindWindow(0,运行程序主窗体的Title) <> 0 then
//正在运行
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
—————————————————————————————————
//正在运行
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
—————————————————————————————————
解决方案 »
- 怎样不通过改变字体大小 改变dbgrid的行间距
- 这个try不是这么用的吗?
- 第二次单击按牛后出错!郁闷ing!(MSN控件,附原码)
- 请问哪里有QReport的最新版本下载????????????????????????????
- 在先等待-50分(怎么在RichEdit1中插入制表符)??
- 东软(杭州分公司)怎么样??
- 我选择了程序员这条路,未来会是什么样?
- 我想把在DELPHI+SQLSERVER环境下写的软件应用到没有安装DELPHI+SQLSERVER的环境中使用?
- 在设计窗体时的如果控件有CM_MOUSEENTER事件就会这样(内详)。请解决DELPHI BUG。
- 有关指针和数组的问题!
- 如何实现继承raduibutton控件,实现下面功能
- delphi好贵,VC好便宜阿
TerminateProcess
GetWindowThreadProcessId
///////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var
Hdle:THandle;
DW:DWORD;
begin
Hdle:=FindWindow(nil,'Outlook Express');
if Hdle<>0 then
begin
showmessage('Out Look express 在运行!');
GetWindowThreadProcessId(Hdle,@DW);
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;
而且uses那要声明什么吗?
wnd:hwnd;
begin
wnd:=FindWindow(nil,'窗口标题');
if wnd<>0 then
SendMessage(wnd,WM_Close,0,0);
或
var
wnd:hwnd;
begin
wnd:=FindWindow('窗口类名',nil);
if wnd<>0 then
SendMessage(wnd,WM_Close,0,0);
窗口标题就不用说了,查看窗口类名可以先启动需要查看的程序,然后用WinSight查看(c:\program files\borland\delphi.0\bin\WS.exe);
procedure TForm1.Button1Click(Sender: TObject);
var Handle1: HWND;
begin
Handle1 := FindWindow(0,'Bin_Client');0D
if Handle1<>0 then
PostMessage(Handle1,WM_CLOSE,WPARAM(true),LPARAM(WM_CLOSE));
end;
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
—————————————————————————————————
是SendMessage(wnd,WM_Close,0,0); 吗?
完整的过程怎么实现?请加点注释好吗?感激感激!!
只要能实现,分我一定给!
wnd:hwnd;
begin
wnd:=FindWindow('winamp',nil);
if wnd<>0 then //winamp正在运行
SendMessage(wnd,WM_Close,0,0); //关闭它