用CreateProcess()在MFC中执行批处理命令
//封装CreateProcess
BOOL CFXNAdhocDemoDlg::ProcessCmd(LPTSTR cmd)
{
ASSERT(cmd!=NULL);
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
if( !::CreateProcess( NULL, // No module name (use command line)
cmd, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
CREATE_NO_WINDOW,//The process is a console application that is being run without a console window
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
{
//异常处理
::MessageBox(NULL,TEXT("执行外部命令出错!"),NULL,MB_OK);
return FALSE;
}
// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
return TRUE;
}
//调用封装的函数来执行批处理命令
ProcessCmd(L"help");
转载于:https://www.cnblogs.com/jasonxiang/archive/2013/01/25/2876861.html
总结
以上是生活随笔为你收集整理的用CreateProcess()在MFC中执行批处理命令的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: mysql 日期字符串互转
- 下一篇: Word编写代码时输出半角引号