您的位置:首页 > 其它

同步执行其他程序(dos命令)

2011-02-01 09:27 260 查看
1. 调用标准system函数,如:system("net stop bservices");

2. 使用WaitForSingleObject函数:

void exec(AnsiString cmd)
{
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(STARTUPINFO);

PROCESS_INFORMATION pi;
BOOL res = CreateProcess(NULL,
cmd.c_str(), // 执行你的 dos 命令
NULL,
NULL,
NULL,
NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW,
NULL,
NULL,
&si,
&pi);

if (TRUE == res)
{
WaitForSingleObject(pi.hProcess,INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
}

注:ShellExecute和WinExec是异步执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: