如何在卸载时知道MFC应用程序是否处于打开状态

时间:2013-07-04 11:45:17

标签: mfc uninstall

我有一个MFC应用程序,我想在其中实现一个部件,当用户要在保持应用程序打开的同时卸载它时会显示一条消息弹出窗口。但我对此没有任何线索。任何人都可以建议一种方法来做到这一点吗?

1 个答案:

答案 0 :(得分:0)

创建一个具有唯一名称的信号量。然后在卸载程序中检查信号量是否存在,如果是,则表示应用程序正在运行。

在你的计划中:

CreateSemaphore(NULL, 0, 1, "Some unique string of your choice") ;

在卸载程序中:

  BOOL isrunning = FALSE ;
  HANDLE hsem = CreateSemaphore(NULL, 0, 1, "Some unique string of your choice") ;

  if (hsem != NULL)
  {
    if (GetLastError() == ERROR_ALREADY_EXISTS)
      isrunning = TRUE ;

    CloseHandle(hsem) ;
  }