单文档程序执行正常,现在一个外部程序调用该单文档,会导致自动打开文档。
如何禁止该操作,网上查到的解决方案均是针对多文档的:
CCommandLineInfo cmdInfo;
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;//加这一句
ParseCommandLine(cmdInfo);
但这句加在单文档中会导致程序异常。
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
执行到该处m_pMainWnd为空,发生异常。
解决方法:设置一个标志,当点击打开菜单或按钮时改变标志值。开启文档的方法中判断该标志,满足条件再继续执行后续操作。