请教如何判断一个程序是否在运行(除标题,类名,进程名,路径外的方法)!

求除了通过标题,类名,进程名,进程路径判断以外的方法。

程序a.exe 和 b.exe,都是自已写的,想用b.exe来判断a.exe是否存在。
a.exe 无标题,无类名,无固定文件名和路径,还有什么办法可以判断?

作者: cnxfmz   发布时间: 2011-06-16

判断进程运行是最好的方法

其他可以通过一些进程通信的方法 不知道你有没有这个必要
比如说b和a之间加入心跳包

作者: q191201771   发布时间: 2011-06-16

程序加载的时候注册一个全局的mutex,然后搜索这个mutex是否存在,就知道程序有没有运行了。

作者: fox_ocean   发布时间: 2011-06-16

帮顶,学习中。

作者: liuxingyu2008pp   发布时间: 2011-06-16

进程通讯
命令的内核对象 C/C++ code
HANDLE HandleMu;
        HandleMu = ::CreateMutex(NULL,FALSE,"a.exe");
        if(HandleMu == NULL)
            return FALSE;
        if(GetLastError() == ERROR_ALREADY_EXISTS)
        {
            AfxMessageBox( "a.exe已运行! ",MB_ICONSTOP);
            
        }

作者: downmooner   发布时间: 2011-06-16

用b程序去查找所有正在运行的进程,看是否有a.exe。部分代码如下
C/C++ code

        LPCTSTR pszExeFile;
    PROCESSENTRY32 pe;
    pe.dwSize=sizeof(pe);
    bool fok=Process32First(thProcess,&pe);
    
    for(;fok;fok=Process32Next(thProcess,&pe))
    {
               pszExeFile=_tcsrchr(pe.szExeFile,TEXT('\\'));
               if(pszExeFile=="a.exe")
                AfxMessageBox("a.exe正在运行!");
         }

作者: shaotine_wu   发布时间: 2011-06-16