怎么样在我编的程序中判断另一个程序是否已经在运行?有什么API或者函数可以调用的吗?

解决方案 »

  1.   

    EnumProcesses()
    GetProcessImageFileName()
    只能用在NT以上版本
      

  2.   

    HWND hwnd;
    CString title;
    title.LoadString(AFX_IDS_APP_TITLE);
    hwnd=FindWindow(NULL,title);
    if(hwnd!=NULL)
    {
    AfxMessageBox("本程序检测到已有一个接口程序正在运行,本次运行将退出!",
    MB_ICONWARNING);
    exit(0);
    }
      

  3.   

    谢谢!我按照stavck(关未明)的方法搞定了。
    不过有一个地方不对
    hwnd=FindWindow(NULL,title); 
    应该是hwnd=::FindWindow(NULL,title);
    还有,最好初始化HWND hwnd = NULL; 
      

  4.   

    呵呵!刚试了一下,直接调用FindWindow()就可以了,谢谢楼上!