我有一个 Win32 应用程序,它有一个对话框,只有在进程是重新启动的进程时才会执行某些操作。大纲如下:
#define CMDLINE_RESTART_PROCESS "--Restart"
BOOL CheckForProcessRestart()
{
LPTSTR szCmdLine = ::GetCommandLine()
return ::StrStr(szCmdLine, CMDLINE_RESTART_PROCESS) != NULL;
}
BOOL CMyDialog::InitInstance()
{
if(CheckForProcessRestart())
{
// Do something (like initialize certain variables, controls, etc)
}
// Rest of application
}
在我检测到该进程是一个重新启动的进程并初始化这些控件和变量后,我的对话框将执行它的操作并关闭。
此对话框可通过主窗口中的菜单访问。单击该菜单按钮时,当此对话框弹出时,它将再次检测到它是重新启动的进程,因为GetCommandLine()
将获取原始命令行参数。
我的问题是,有什么方法可以在处理完命令行参数后重置它们?
谢谢!