VC启动一个程序并等待运行结束
来源:互联网 发布:js在线调试工具 编辑:程序博客网 时间:2024/06/05 23:42
在VC插件里执行了ARM ADS的编译指令armlink和fromelf.
大致这样的
WinExec("armlink .....", SW_HIDE);
WinExec("fromelf .....", SW_HIDE);
因为fromelf要用到armlink的输出文件,但不运行正确,一起跑提示fromelf找不到armlink输出的那个文件。
看来WinExec()是异步执行armlink等命令了。肯定是创建进程去运行的,但是WinExec没有等待子进程退出就返回了.
试过WinExec("armlink .... && fromelf ....", SW_HIDE);但是最终还是要用C访问fromelf的生成的文件。
所以只能用CreateProcess()了
PROCESS_INFORMATION ProcessInfo;
STARTUPINFO StartupInfo; //入口参数
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof StartupInfo ; //分配大小
if(CreateProcess("armlink", NULL,
NULL,NULL,FALSE,0,NULL,
NULL,&StartupInfo,&ProcessInfo))
{
WaitForSingleObject(ProcessInfo.hProcess,INFINITE);
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
}
后来查到也可以用ShellExecuteEx()
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = "armlink";
ShExecInfo.lpParameters = "。。。。。";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_HIDE;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
- VC启动一个程序并等待运行结束
- 运行程序并等待结束
- windows运行一个程序并等待其结束。
- 启动另外一个程序,并等待它结束方法
- 启动外部程序并等待它结束
- 启动外部程序并等待它结束
- 启动外部程序并等待它结束
- 启动外部程序并等待它结束
- 等待程序运行结束
- 如何调用一个程序,等待运行结束,并知晓程序运行成功与否:ShellExecuteEx;WaitForSingleObject;GetExitCodeProcess(C代码)
- 如何调用一个程序,等待运行结束,并知晓程序运行成功与否:ShellExecuteEx;WaitForSingleObject;GetExitCodeProcess(C代码)
- Delphi 调用外部程序并等待其运行结束
- Delphi 调用外部程序并等待其运行结束
- Delphi 调用外部程序并等待其运行结束
- Delphi调用外部程序并等待其运行结束
- Delphi 调用外部程序并等待其运行结束
- [delphi]调用外部程序并等待其运行结束
- 【vs2015】C++ 程序运行并等待进程结束
- 典型套接字调用过程举例
- ASIHTTPRequest系列(三):文件上传
- 有点乱
- Microsoft_CryptoAPI加密技术
- 优秀的程序员
- VC启动一个程序并等待运行结束
- java applet init start
- asp.net数字分页效果
- Windows 7各版本的主要功能区别是什么 有何不同
- git 小技巧
- VC6.0和VS2003对CWinThread类消息映射的不同
- Socket编程原理
- InterlockedCompareExchange 用法
- ASIHTTPRequest系列(四):Cookies