关闭它:SendMessage(App.handle,WM_CLOSE,0,0)
解决方案 »
- 这个函数怎么在vc里面调用?
- 从一个ado的数据原原本本的appendrecord到另一个表格,顺序怎么会不一样?
- 在xp_sp2和win2003下,activex控件的使用问题?
- Socket 端口的问题?
- 帮我解释以下关于‘gdfocused in state’的问题吧!
- 请教,一个MDI问题
- 怎麼知道通過delphi的ole在操作excel時候,分頁符所在的行號?
- 如何进行语音卡编程
- icehill() 分数马上送上! 不好意思!还有一个问题,请问如何检测一个视图是否存在?
- 小妹?^_^?捉虫:关于分数!!!!!!!
- 如何将控件做成一个数组,以便可以用contralname[i]来访问?
- 有关.emf图片格式的问题(用QReport存的)。
//强制终止某应用程序运行********************************************************
//==============================================================================
procedure AppForceExit(const AppName: string);
var lppe: TProcessEntry32;
ssHandle: THandle;
Wnd: HWND;
AppFound: Boolean;
begin
ssHandle := CreateToolHelp32SnapShot(TH32CS_SNAPALL, 0);
AppFound := Process32First(sshandle, lppe);
while AppFound do
begin
//其中lppe.szExefile就是程序名**********************************************
if UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase(AppName) then
begin
Wnd := OpenProcess(PROCESS_ALL_ACCESS, true, lppe.th32ProcessID);
TerminateProcess(Wnd, 0);
end;
AppFound := Process32Next(ssHandle, lppe);
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm_Main.Button18Click(Sender: TObject);
begin
case (Sender as TButton).Tag of
0: ShellExecute(Handle, 'Open', PChar('ping.exe'), PChar('192.168.1.11 -t'), nil, SW_SHOWNORMAL);
1: AppForceExit('ping.exe');
end;
(Sender as TButton).Tag := (Sender as TButton).Tag xor 1;
end;
或 application.terminate;
form1.close;
form2.close;
你的程序是你自己程序的一部分吧。TProcessEntry32,CreateToolHelp32SnapShot,Process32First,Process32Next
我不知为什么东西。
2.如果关闭的是外部程序,一般通过句柄来操作.思想是先获得要关闭程序的句柄,通过发送消息(TerminateProcess其实也是发送关闭消息)来关闭外部程序.具体的函数楼上都买了,所以我不浪费了.