社区
Delphi
帖子详情
如何判断一个程序在运行当中
WeiXuBin
2003-01-16 05:24:31
如何判断一个程序在运行当中:
我在主程序中启动了一个辅助的程序,
我想当我的主程序关闭之后辅程序也关闭。
请问怎么办?
...全文
19
2
打赏
收藏
如何判断一个程序在运行当中
如何判断一个程序在运行当中: 我在主程序中启动了一个辅助的程序, 我想当我的主程序关闭之后辅程序也关闭。 请问怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nnwq
2003-01-16
打赏
举报
回复
如果只是简单方法:
下面给出一段在 Delphi 中关闭“计算器”程序为例:
...
var
HWndCalculator : HWnd;
begin
// find the exist calculator window
HWndCalculator := Winprocs.FindWindow(nil, '计算器');
// close the exist Calculator }
if HWndCalculator <> 0 then
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end;
下面是复杂的调用
var
pWindowsList: pointer;
hActiveWindow: HWnd;
hExeHandle: THandle;
begin
pWindowsList := DisableTaskWindows(0);
hActiveWindow := GetActiveWindow;
try
hExeHandle := WinExec('arj.exe /?',SW_SHOWNORMAL);
while GetModuleUsage(hExeHandle) <> 0 do
Application.ProcessMessages;
finally
EnableTaskWindows(pWindowsList);
SetActiveWindow(hActiveWindow);
end;
end;
// 相信你明白了。
题外话:如果执行的是 MSDOS 外部程序,如何能让它的窗口不显示出来呢?
[ 接上例 ]:
TStartupInfo 这个结构中有一个 sShowWindow 栏位, 将之设为 SW_HIDE即可,
同时, dwFlags 标志中至少需含有 STARTF_USESHOWWINDOW, 否则CreateProcess
时, sShowWindow 栏位的设定会无效, 以下是修改过的程式:
var
sCommandLine: string;
bCreateProcess: boolean;
lpStartupInfo: TStartupInfo;
lpProcessInformation: TProcessInformation;
begin
// sCommandLine 的内容请视您的情况修改
sCommandLine :='Xcopy d:\temp\temp1\*.* d:\temp\temp2 /v/y';
lpStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
lpStartupInfo.wShowWindow := SW_HIDE;
bCreateProcess := CreateProcess(nil, PChar(sCommandLine),nil,nil,True,
HIGH_PRIORITY_CLASS, nil, nil,lpStartupInfo, lpProcessInformation);
if bCreateProcess then
WaitForSingleObject(lpProcessInformation.hProcess, INFINITE);
end;
// 又有进步了
zjhydx98
2003-01-16
打赏
举报
回复
up
shell脚本使用--
判断
一个
服务
程序
是否在
运行
这里shell脚本的使用目的:
判断
一个
服务
程序
是否在
运行
,如果在
运行
就延时一秒,如果不在
运行
,就启动
运行
该服务。我这里的服务名称是eGTouchD。 DEMO脚本语句说明: ps | grep xxxx |wc -l //统计在
运行
的进程xxxx数量,如果没有在
运行
,则得到0,否则得到
运行
程序
xxxx的数量。 开机自启动服务的方式这里介绍两种: 第一种:添加到开机就
运行
的脚本文件
当中
,例如我这里开...
c#中怎样
判断
一个
程序
是否正在
运行
?
c#中怎样
判断
一个
程序
是否正在
运行
? 我写了两个
程序
,其中
程序
2想
判断
程序
1是否正在
运行
(这两个
程序
没有任何联系) 谢谢啊 if(System.Diagnostics.Process.GetProcessesByName("要获取的
程序
在进程中的称").ToList().Count>0) { //存在 } else { //不存在 } st...
linux中如何在c
程序
判断
一个
程序
是否
运行
大家注意的是,下列命令中显示只是得出进程信息中的一部分 再linux中我们对于
判断
一个
进程是否正在
运行
,再bash中还是很好解决的,这时我们可以用ps命令来查看各个进程的状态。下面时自己常用的一些ps的选项。 ps a 显示现行终端机下的所有
程序
,包括其他用户的
程序
很显然这不是所有系统中的进程,这时候我们可以用ps -e 或ps -A(这两个命令的效果一样), 如果我们需要看到进程的全部信息...
Delphi 中实现
判断
某个外部
程序
是否
运行
(如果
运行
则执行
一个
命令否则执行
一个
命令)
前段时间在写
一个
工具型小软件时需要实现“在触发某个控件的
一个
事件时,
判断
某个外部
程序
(exe)是否已经
运行
,如果
运行
则将该
程序
主窗体打开或窗口置顶,如果没有
运行
,就通过
一个
自己指定的路径打开该应用
程序
”,虽然逻辑上看上去非常easy,但是本人确实没有写过,于是开始搜索资料,无奈很多资源都无法实现需求。。。so,自己动手,丰衣足食; 虽然耗时较长,还是整出来了,以下是通过函数在
一个
button事件
Java实现检测本地指定路径下某
一个
程序
是否在
运行
项目有
一个
需求需要通过网页超链接唤醒本地桌面
程序
,有
一个
小bug是重复打开桌面
程序
。需要后台开
一个
接口来
判断
本地桌面
程序
是否打开。可以通过以下简单的方法来实现。要检测本地指定路径下某
一个
程序
是否在
运行
,可以使用Java的ProcessBuilder类来实现。然后遍历获取到的
程序
列表,
判断
是否包含要检测的
程序
名,如果包含则表示该
程序
正在
运行
。来执行操作系统命令来获取
运行
中的
程序
列表。在Windows系统中,使用。在非Windows系统中,使用。变量的值,使其指向要检测的
程序
路径。
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章