无论如何,是否可以确定MFC应用程序是通过PC重新启动或用户单击应用程序快捷方式开始的
Is there anyway to identify that an MFC application is starting by PC rebooting or by user click on application shortcut?
我有一个MFC应用程序。该应用程序随PC重新启动,显然是通过用户单击应用程序图标。当用户单击应用程序图标应用程序时,应用程序将启动它是一个普通情况。但是,如果应用程序从PC重新启动中运行,我想最大程度地减少应用程序系统托盘。系统已经实现,但我不知道检测应用程序是通过PC还是通过用户单击启动的应用程序。有什么方法可以在MFC应用程序中检测这些方案?
每个帮助都是非常明显的。谢谢。
///////////////////////////////////////更新:您好 @Michael-Chourdakis先生,非常感谢您的宝贵建议。我正在下面更新我的解决方案。有人可能会从中得到帮助。
命令行参数值已将其设置为" autorun" ,并在注册表中使用我的应用程序名称注册了此值:
CString strFilePath = ApplicationFilePath + _T(" ") + _T("--autorun");
以下是从MFC应用程序 INITINSTANCE 的命令行参数获取进程:
CString strAutoRun = _T("");
if(AfxGetApp()->m_lpCmdLine != NULL && AfxGetApp()->m_lpCmdLine[0] == _T(' '))
{
strAutoRun = AfxGetApp()->m_lpCmdLine;
}
if(strAutoRun.CompareNoCase(_T("--autorun")) == 0)
{
// Application start from PC Rebooting....
}
注册在登录上运行的应用程序时(通过注册表,Explorer启动或您可能使用的任何其他方法(,将命令行参数传递以通过这种方式表示启动。
和在App的启动时,检查是否使用了该参数。
您可能要传递一个极值,因此没有人在该模式下意外启动您的应用程序,例如CLSID。
相关文章:
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 如何在 MFC 应用程序中启动 ZeroMQ 线程?
- 从最基本的Qt应用程序重新链接对象 - 链接器错误
- 当使用“空dllmain”的dll加载链接到DLL时,应用程序无法启动(0xc0000142)
- 无法加载dll libglorycolx2010.dll.该应用程序未能启动,因为其并排配置不正确.Hresult:0x
- 此应用程序无法启动,因为它找不到或加载Qt平台插件"windows"
- 您如何从已经运行的GUI应用程序中启动使用GUI的可执行文件
- Eclipse PTP挂起OpenMPI应用程序的启动调试会话
- 系统会冻结如果我使用运行的守护程序重新启动或关闭,该守护程序可以使用Fanotify控制对文件的访问
- OpenGL 应用程序在启动时立即崩溃
- 保存“编辑控件”用户输入并在应用程序重新启动C++Visual Studio时进行恢复的有效方法
- 使用 tcp 命令在 c++ 应用程序中启动函数
- 当将应用程序作为启动的守护程序运行时,C++ 库中的信号 10 (SIGBUS)
- 在Windows 7和8下,其他应用程序无法启动openfiles.exe
- 将QCheckBox的状态保存在文件中,并在程序重新启动时加载状态
- 应用程序无法启动,因为缺少平台插件“窗口”
- Win7 / Eclipse / OpenCV / MinGW:应用程序每次启动时都会崩溃
- 此应用程序无法启动,因为它找不到或加载Qt平台插件"xcb"
- 如何在 Windows 服务应用程序中启动系统时运行代码
- Qt Windows 部署:应用程序无法启动