|
|
C++下执行命令行命令 |
作者:洛羽叶 点击率:2922 发布时间:2012-12-14 |
C++下通过CreateProcess来运行程序,和VB及C#下不同的是,因为是原生API函数,对于传入的参数需要全路径,比如notepad.exe比如指定c:\windows\notepad.exe作为执行程序路径。
STARTUPINFO si;
PROCESS_INFORMATION pi;
char path[MAX_PATH_LENGTH]={ "c:\windows "};
char app[MAX_PATH_LENGTH]={ "c:\windows\notepad.exe"};
char cmd[MAX_PATH_LENGTH]={ "c:\temp\test.txt"};
char buf[MAX_PATH_LENGTH]={0};
BOOL bResult=FALSE;
ZeroMemory( &si,sizeof(si) );
si.cb = sizeof(si);
si.wShowWindow=(isHidden ? SW_HIDE : SW_SHOWNORMAL);
ZeroMemory( &pi,sizeof(pi) );
//app要为程序的全路径
//path要传入执行程序的路径
bResult=::CreateProcessA(app,cmd,NULL,NULL,FALSE,0,NULL,path,&si,&pi);
if(bResult)
{
::CloseHandle(pi.hProcess);
::CloseHandle(pi.hThread);
}
|
|
|
|
|
|