100分求一个简单问题,如果判断一个给定程序(c:\tset.exe)是否运行!

huhaiqing 2003-08-22 02:56:18
如果判断一个程序,例:c:\test.exe是否运行了??
...全文
42 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanzai8848 2003-08-26
  • 打赏
  • 举报
回复
1,枚举进程
2,修改test.exe的源代码,程序运行开始先Create一个型号量, 以后检测此型号量
3,不太准确的方法, 如果test.exe程序有窗口,可以Find此窗口, 看是否找得到
dev_uoboy 2003-08-25
  • 打赏
  • 举报
回复
枚举进程就可以判断了啊
joinrry 2003-08-24
  • 打赏
  • 举报
回复
agree mfc168(闶阆) ( )

使用过这段代码!
flinming 2003-08-24
  • 打赏
  • 举报
回复
CreateMutex(NULL, TRUE, “程序标题”);//防止2次运行
if (GetLastError() == ERROR_ALREADY_EXISTS)
return FALSE;

把上面一段代码加到你的程序APP最早开始初始化的时候

如果已经运行了,在运行程序就return FALSE;不再执行程序。。。。。防止程序2次运行就是这样做的
akiko 2003-08-22
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2171/2171174.xml?temp=.4211237
vcforever 2003-08-22
  • 打赏
  • 举报
回复
enumprocess或createtoolhelp32枚举你的所有进程
判断你的进程是否在其中!
mfc168 2003-08-22
  • 打赏
  • 举报
回复
......
HANDLE m_handle=::CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
PROCESSENTRY32* Info = new PROCESSENTRY32;
Info->dwSize = sizeof(PROCESSENTRY32);
if(::Process32First(m_handle,Info))
{
while(::Process32Next(m_handle,Info)!=FALSE)
{
CString ss;
ss=Info->szExeFile;
ss.MakeLower();
if(ss.Find("test") != -1)//你的程序名
{
//该程序运行
}
}
::CloseHandle(m_handle);
if(Info)
{
delete Info;
}
}
......
FAICHEN 2003-08-22
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2171/2171174.xml?temp=.6866266

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧