MFC接收ShellExecute多个参数
在应用程序开发过程中,我们经常需要带参数启动另一个执行程序,如何传递多个参数,如何解析多个参数呢?
传参数
传递参数可使用ShellExecute函数,示例如下:
ShellExecute(NULL, _T("open"), _T("d:\\test.exe"),_T("123 456") , _T("d:\\test.exe"), SW_SHOW);
解析参数
我们可以在InitInstance函数里通过m_lpCmdLine便利得到字符串"123 456",但我们需要手动分割成两个字符串,有没有简单的办法直接分割呢?代码如下:
BOOL CXXXApp::InitInstance() { for (int i = 1; i < __argc; i++) { CString strTemp; strTemp.Format(_T("%s"),__targv[i]); AfxMessageBox(strTemp); } }