VC常用代码之创建进程
来源:互联网 发布:ubuntu 17.10 ntfs 编辑:程序博客网 时间:2024/06/15 03:19
作者:朱金灿
来源:http://blog.csdn.net/clever101
创建进程是编程开发的常用操作。Windows中的创建进程采用API函数CreateProcess实现。下面是一个使用例子:
#include <Windows.h>#include <string>int _tmain(int argc, _TCHAR* argv[]){STARTUPINFO si;PROCESS_INFORMATION pi;ZeroMemory( &si, sizeof(si) );si.cb = sizeof(si);ZeroMemory( &pi, sizeof(pi) );std::string strCmdLine = "ping www.baidu.com"; // Start the child process. if( !CreateProcess( NULL, // No module name (use command line)(LPSTR)strCmdLine.c_str(), // Command lineNULL, // Process handle not inheritableNULL, // Thread handle not inheritableFALSE, // Set handle inheritance to FALSE0, // No creation flagsNULL, // Use parent's environment blockNULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure&pi) // Pointer to PROCESS_INFORMATION structure) {printf( "CreateProcess failed (%d)\n", GetLastError() );return 1;}// Wait until child process exits.WaitForSingleObject( pi.hProcess, INFINITE );// Close process and thread handles. CloseHandle( pi.hProcess );CloseHandle( pi.hThread ); getchar(); return 0;}
使用上面的方式创建进程会出现一个控制台界面。要隐藏这个控制台界面,只需要将CreateProcess函数的第六个参数设为CREATE_NO_WINDOW,比如上面对应的代码应改为:
if( !CreateProcess( NULL, // No module name (use command line)(LPSTR)strCmdLine.c_str(), // Command lineNULL, // Process handle not inheritableNULL, // Thread handle not inheritableFALSE, // Set handle inheritance to FALSECREATE_NO_WINDOW, // No creation flagsNULL, // Use parent's environment blockNULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure&pi) // Pointer to PROCESS_INFORMATION structure) {printf( "CreateProcess failed (%d)\n", GetLastError() );return 1;}
0 4
- VC常用代码之创建进程
- VC常用代码之动态加载DLL
- [VC]查找当前系统进程及其他常用代码
- vc++创建一个进程
- VC创建进程
- VC 创建进程
- VC++ 创建进程
- VC++ 创建进程
- vc++ 创建进程
- Vc++创建新进程
- VC常用进程函数
- vc++中进程通信之剪贴板常用函数
- vc++中进程通信之剪贴板常用函数
- vc++中进程通信之剪贴板常用函数
- vc常用代码
- VC常用代码
- VC常用代码段
- vc常用代码总结
- HDOJ5523Game
- html+div+css
- yycg 的用户删除和用户修改模块
- MyBatis入门(五)---延时加载、缓存
- Android imageloader加载网络,本地图片方式
- VC常用代码之创建进程
- MyBatis入门(六)---mybatis与spring的整合
- HDOJ1060 Leftmost Digit(求n^n的最高位)
- 前端图片选择问题
- MapReduce處理檔案實驗(1) Avro
- 华为java面试题目
- [Django与表单]表单 CSRF verification failed 报错的解决
- 标准 BT656 并行 数据结构 详解
- Android之Material Design兼容使用Demo