【vs2015】C++ 程序运行并等待进程结束
2016-09-21 17:45
603 查看
1.VS2015 新建项目->win32 控制台应用程序
以下操作实现跨平台(1).配置属性-常规-MFC的使用->使用标准Windows库或者在静态库中使用MFC
(2).配置属性-c/c++-代码生成-运行库->多线程(/MT)
2.头文件stdafx.h
// stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 // #pragma once //#define _AFXDLL #include "targetver.h" #include <stdio.h> #include <tchar.h> // TODO: 在此处引用程序需要的其他头文件 #include <afxwin.h> // MFC core and standard components #include <SetupAPI.h> #pragma comment(lib, "Setupapi.lib")
3.主程序ConsoleApplication5.cpp
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" int main() { LPTSTR buffer = _T("demo1,demo2,demo3"); printf("dev_ID=%S \n", buffer); if (buffer) { LPTSTR demo = _T("demo2"); if (_tcsstr(buffer, demo)) { printf("Detect demo2 !!!!!!\n"); STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory(&pi, sizeof(pi)); LPTSTR szCmdline = _tcsdup(TEXT("Driver\\demo\\Setup.exe")); // Start the child process. if (!CreateProcess(NULL, // No module name (use command l 4000 ine) szCmdline, // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE 0, // 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 ) { printf("CreateProcess failed (%d).\n", GetLastError()); /*return 0;*/ exit(0); } // Wait until child process exits. WaitForSingleObject(pi.hProcess, INFINITE); // Close process and thread handles. CloseHandle(pi.hProcess); CloseHandle(pi.hThread); printf(" demo Install Finished !!!!!!\n"); } /*-------------demo end-----------------*/ } return 0; }
4.效果
相关文章推荐
- C++以阻塞的方式调用外部exe程序,等待其运行结束
- VS2015中C++运行程序缺少丢失pthreadVC2.dll
- 如何让Delphi调用外部程序并等待其运行结束
- Delphi 调用外部程序并等待其运行结束
- Delphi写的等待进程运行结束函数
- Dev-C++ IDE 运行程序时,程序运行结束窗口自动关闭的问题
- 可以让你运行WINDOW程序,并等待结束继续运行脚本
- Delphi 调用外部程序并等待其运行结束
- Delphi写的等待进程运行结束函数
- VBShell调用后等待程序运行结束
- 运行程序并等待结束
- vs C++控制台程序后台运行
- MASM32编程用两种方法运行外部程序并等待其结束
- c# 使用Process调用外部程序时等待该进程结束后再执行住进程
- 用c++结束进程的程序
- 我在delphi中用shellExecute启动了一个程序(ftp);然后想做一个等待,只到ftp进程结束,再继续下面的操作,请问如何监控这个进程是否已结束?
- VC程序中如何结束系统正在运行的其他进程
- Delphi调用外部程序并等待其运行结束
- VC程序中如何结束系统正在运行的其他进程 以及本程序自身
- VC启动一个程序并等待运行结束