VC中怎么调用.bat文件

VC中如何调用.bat文件?
RT。


我调用了类似下面的方法,无法执行成功。

STARTUPINFO si;
PROCESS_INFORMATION pi;
CString sbuf,smy_sql;

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );


if( !CreateProcess( NULL, // No module name (use command line).
(LPSTR)(LPCTSTR)strCmd, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
NORMAL_PRIORITY_CLASS, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ) // Pointer to PROCESS_INFORMATION structure.
)
{
return;
}
// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );

------解决方案--------------------
C/C++ code

STARTUPINFO si = {sizeof(si)};
    PROCESS_INFORMATION pi = {0};
    TCHAR szPath[MAX_PATH] = _T("F:\\11.bat");
    if(!CreateProcess(NULL, szPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    {
        CloseHandle(pi.hThread);
        CloseHandle(pi.hProcess);
    }

------解决方案--------------------
if(!CreateProcess(NULL, szPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
-->
if(CreateProcess(NULL, szPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
Sorry,if写错了
------解决方案--------------------
有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。

//调用计算器   
ShellExecute(NULL,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);   
//调用记事本   
ShellExecute(NULL,"open","NOTEPAD.EXE",NULL,NULL,SW_SHOWNORMAL);
------解决方案--------------------
探讨

有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。

//调用计算器
ShellExecute(NULL,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
//调用记事本
ShellExecute(NULL,"open","NOTEPAD.EXE",NULL,NULL,SW_SHOW……

------解决方案--------------------
System("file.bat");
前提是同文件夹
------解决方案--------------------
WinExec("cmd.bat", SW_HIDE);
绝招~
------解决方案--------------------
system("c:\\1.bat") 可以成功