关闭它:SendMessage(App.handle,WM_CLOSE,0,0)
解决方案 »
- 求助,在循环中,timer无法执行问题
- 这样的表如何设计?这样的输入界面如何设计?
- 如何删除TTreeView下的所有子节点?
- 怎么在程序运行期间设置DBgridEh控件是多选。就是DBgridEh1->options->dgmultiselect 是true
- 请问各位高手怎样把从数据表中提取数据写成EXCEL文档?,能否详细说明一下,先谢谢各位了
- idhttp 如何点击网页上的链接?
- 请问如何将TQuickReport中的内容输出到Word文档格式?
- 菜鸟请教delphi数据库编程,高手请进。。。
- 关于CAD图纸的显示与存储问题,大师们不要嫌分少呀,关于这个问题我已经有在网上放了90分了,还可以加分
- delphi中进行文件操作的函数都有什么?
- 如何将控件做成一个数组,以便可以用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其实也是发送关闭消息)来关闭外部程序.具体的函数楼上都买了,所以我不浪费了.