无论如何,是否可以确定MFC应用程序是通过PC重新启动或用户单击应用程序快捷方式开始的

Is there anyway to identify that an MFC application is starting by PC rebooting or by user click on application shortcut?

本文关键字:应用程序 重新启动 用户 PC 单击 开始 快捷方式 是否 无论如何 MFC      更新时间:2023-10-16

我有一个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。

相关文章: