运行主程序"123.exe" ,隐藏自身主体,运行下面'QQ.exe'程序.
Application.ShowMainForm:=false;WinExec(PChar('QQ.exe'), SW_SHOW); //启动外部程序。'QQ.exe'是别人写的//进程里应该有 “123.exe”和“QQ.exe”两个我想用Timer1控件实时监控进程 “QQ.exe”判断如果“QQ.exe”被用户关掉了,自动关闭自身主程序“123.exe”,代码该怎么写?谁能提供好用的Delphi语言代码给我啊?
Application.ShowMainForm:=false;WinExec(PChar('QQ.exe'), SW_SHOW); //启动外部程序。'QQ.exe'是别人写的//进程里应该有 “123.exe”和“QQ.exe”两个我想用Timer1控件实时监控进程 “QQ.exe”判断如果“QQ.exe”被用户关掉了,自动关闭自身主程序“123.exe”,代码该怎么写?谁能提供好用的Delphi语言代码给我啊?
解决方案 »
- 在Edit输入字符如何转到一些搜索引擎去搜索?
- 在或曾经上海工作的朋友进来一下,有几个生活方面的问题请教
- 数据表中的记录删除或添加的奇怪问题!!!!!!!!!!
- 下列代码错误,海天子进来看看 !
- 如何用程序获得数据库number类型字段的精度和宽度
- fastreport钟crosstab怎么实现一页纸仅仅就打固定的行!!不足的话加上空行并加上文字 问题解决给分
- TColor = -$7FFFFFFF-1..$7FFFFFFF中的$是什么意思
- delphi在程序运行阶段怎么指定Ttable的索引属性?
- 用installshield制作安装程序问题?
- Delphi的TClientDataSet如何用Filter过滤日期
- dxComponentPrinter1 打印提示 printer has encountered error?是何原因
- 改变图像中特定圆周的像素
//调用:
//MonitorProcess('qq.exe')
procedure MonitorProcess(const MonitorName: string);
var
oLocator, oWMI, oProcesses, oLatestProcess : Variant;
sMonitorName: string;
begin
oLocator := CreateOleObject('WbemScripting.SWbemLocator');
oWMI := oLocator.ConnectServer;
oProcesses := oWMI.ExecNotificationQuery('select * from __instancedeletionevent '
+ 'within 1 where TargetInstance isa ''Win32_Process''');
sMonitorName := LowerCase(MonitorName);
while True do
begin
oLatestProcess := oProcesses.NextEvent;
if LowerCase(oLatestProcess.TargetInstance.Name) = sMonitorName then
ExitProcess(0);
end;
end;