hur.cn - 华软网

 热门搜索

非常急,有什么api能判断一个进程是否在运行

  作者:未知    来源:网络    更新时间:2018/6/13
有什么api能判断一个进程是否在运行,不能通过窗口标题判断!
各位大侠快救救我啊!
------华软网友回答------
这个进程是你的程序中用API(比如CreateProcess)运行的还是与你的程序无关?

如果是你自己用API运行的,那么你已经知道了ProcessID,那么用GetExitCodeProcess这个API就可得知该进程是否还在运行。

如果不知道ProcessID,那么只有列出当前正在运行的所有进程,但你又如何判断哪个进程是你要的呢?

------华软网友回复------
api不是很熟练。

学习ing
------华软网友回复------
List process and check this id in it.
------华软网友回复------
ulong ll_mutex, ll_err 
string ls_mutex_name

if handle (GetApplication (), false) <> 0 then 
ls_mutex_name = this.AppName + char (0) 
ll_mutex = CreateMutexA (0, 0, ls_mutex_name) 
ll_err = GetLastError () 
if ll_err = 183 then //  程序已经运行
MessageBox ('提示信息', '程序已经运行了!',information!,ok!) 
Halt close 
else //  程序未运行
             ........
end if 
else//开发模式
....
end if 



Function ulong CreateMutexA (ulong lpMutexAttributes, int bInitialOwner, ref string lpName) library 'kernel32.dll' 
Function ulong GetLastError () library 'kernel32.dll' 


------华软网友回复------
to: leio程序调用其他的程序,一个exe文件
to: hszjx的方法是判断程序是否运行,在程序运行时调用,但是我要调用其他程序,这个不灵!
还有没有其他的方法?
------华软网友回复------
Process32First 和 Process32Next 可以列出所有运行的进程
------华软网友回复------
to:楼主,leio88@126.com里面有例程,自己去收吧,密码:leio88(请勿修改)。
------华软网友回复------
to: leio((郁闷中...)) 
正是我所需要的功能,非常感谢
同时多谢大家的讨论!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。