c++本程序如何调用执行另一个程序WinExce,ShellExecute,CreateProcess
2016-11-11 22:29
423 查看
自己的程序展示
#include <iostream> #include <Windows.h> #include <ShellAPI.h> using namespace std; int main() { //////打开另一个程序 //WinExec("E:/CProgram/test_all_main/x64/Release/test_all_main.exe",SW_SHOW); //////打开一个文件 //WinExec("C:\\Users\\Administrator\\Desktop\\niubi.txt",SW_SHOW);//////不能成功,不知道为啥啊 //////用指定程序打开指定文件 //WinExec("notepad.exe entrance.txt",SW_SHOW); /////打开百度网页 //ShellExecute(NULL, TEXT("open"), TEXT("http://www.baidu.com"), TEXT(" "), TEXT(" "), SW_SHOWNORMAL); /////打开另一个程序 //ShellExecute(NULL, TEXT("open"), TEXT("E:\\项目\\划线_all_camera_and_video\\video_draw_all\\x64\\Release\\划车位_入口_入侵.exe"), TEXT(" "), TEXT(" "), SW_SHOWNORMAL); /////打开一个文件 ShellExecute(NULL,TEXT("open"),TEXT("E:\\项目\\划线_all_camera_and_video\\video_draw_all\\x64\\Release\\carPlace.txt"),TEXT(""),TEXT(""),SW_SHOWNORMAL); /////指定程序文件 //ShellExecute(NULL,TEXT("open"),TEXT("notepad.exe entrance.txt"),TEXT(""),TEXT(""),SW_SHOWNORMAL); //////发邮件 //ShellExecute(NULL,TEXT("open"),TEXT("mailto:nishinapp@yahoo.com"),TEXT(""),TEXT(""),SW_SHOWNORMAL); /////////如何启动一个程序,直到它运行结束? //SHELLEXECUTEINFO ShExecInfo = {0}; //ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); //ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS; //ShExecInfo.hwnd = NULL; //ShExecInfo.lpVerb = NULL; //ShExecInfo.lpFile = TEXT("E:/CProgram/test_all_main/x64/Release/test_all_main.exe"); //ShExecInfo.lpParameters = TEXT(""); //ShExecInfo.lpDirectory = NULL; //ShExecInfo.nShow = SW_SHOW; //ShExecInfo.hInstApp = NULL; //ShellExecuteEx(&ShExecInfo); //WaitForSingleObject(ShExecInfo.hProcess,INFINITE); //////////如何启动一个程序,直到它运行结束? //PROCESS_INFORMATION ProcessInfo; //STARTUPINFO StartupInfo; //This is an [in] parameter //ZeroMemory(&StartupInfo, sizeof(StartupInfo)); //StartupInfo.cb = sizeof(StartupInfo); //Only compulsory field //if(CreateProcess(TEXT("E:/CProgram/test_all_main/x64/Release/test_all_main.exe"), NULL, NULL,NULL,FALSE,0,NULL, NULL,&StartupInfo,&ProcessInfo)) //{ //WaitForSingleObject(ProcessInfo.hProcess,INFINITE); //CloseHandle(ProcessInfo.hThread); //CloseHandle(ProcessInfo.hProcess); //} //else //{ // cout<<"失败了"<<endl; //} return 0; }
参考的两篇重要的文章
里边说的很清楚我就不赘余了【1】C++调用外部应用程序的方法的整理总结
【2】C/C++执行外部程序(调用外部exe程序)
相关文章推荐
- 基于Windows平台,C++ 如何调用exe程序
- VC中如何调用其他的可执行程序
- C/C++程序编译步骤 如何生成可执行文件
- C/C++执行外部程序(调用外部exe程序)
- VC中如何调用其他的可执行程序
- C#如何调用cmd程序的执行
- c++程序中如何简单调用批处理文件
- C++ 调用exe,可等待调用的exe执行完毕后才继续执行父进程 CreateProcess
- C++调用可执行程序
- 在linux如何在程序中调用shell命令启动另一个程序
- 用createprocess执行word,需要为外部程序指定一个叁数'd:\aaa.doc',如果这个文档是stringlist中的某一项,那么该如何写呢?
- C/C++程序编译步骤 如何生成可执行文件
- C/C++执行外部程序(调用外部exe程序)
- C程序和C++程序间如何互相调用
- 程序中调用另一个现成的可执行程序或系统命令
- shellexecute调用外部程序,程序执行出问题
- c++程序里如何调用MATLAB中的函数
- IE浏览器中如何安全地调用本地可执行程序
- C程序和C++程序间如何互相调用
- VC中如何调用其他的可执行程序