CreateProcess cpp

来源:互联网 发布:炉石传说淘宝金币 编辑:程序博客网 时间:2024/05/20 01:36
#include "stdafx.h"#include <iostream>#include<windows.h>using namespace std;int main(){//STARTUPINFO si; //一些必备参数设置//memset(&si, 0, sizeof(STARTUPINFO));STARTUPINFO si = { sizeof(si) };  si.cb = sizeof(STARTUPINFO);si.dwFlags = STARTF_USESHOWWINDOW;si.wShowWindow = SW_SHOW;PROCESS_INFORMATION pi; //必备参数设置结束if(!CreateProcess("c:\\windows\\system32\\notepad.exe",NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)){cout<<"Create Fail!"<<endl;//exit(1);}else{cout<<"Success!"<<endl;        // 不使用的句柄最好关掉          CloseHandle(pi.hThread);          CloseHandle(pi.hProcess);          printf("新进程的ID号:%d\n",pi.dwProcessId);          printf("新进程的主线程ID号:%d\n",pi.dwThreadId);  }return 0;}/************************************************//*#include <stdio.h>  #include <windows.h>  int main(int argc, char *argv[])  {      char szCommandLine[] = "notepad";      STARTUPINFO si = { sizeof(si) };      PROCESS_INFORMATION pi;      si.dwFlags = STARTF_USESHOWWINDOW; // 指定wShowWindow成员有效      si.wShowWindow = TRUE; // 此成员设为TRUE的话则显示新建进程的主窗口      BOOL bRet = CreateProcess (      NULL, // 不在此指定可执行文件的文件名      szCommandLine, // 命令行参数      NULL, // 默认进程安全性      NULL, // 默认进程安全性      FALSE, // 指定当前进程内句柄不可以被子进程继承      CREATE_NEW_CONSOLE, // 为新进程创建一个新的控制台窗口      NULL, // 使用本进程的环境变量      NULL, // 使用本进程的驱动器和目录      &si,      &pi) ;      if(bRet)      {          // 不使用的句柄最好关掉          CloseHandle(pi.hThread);          CloseHandle(pi.hProcess);          printf("新进程的ID号:%d\n",pi.dwProcessId);          printf("新进程的主线程ID号:%d\n",pi.dwThreadId);      }      return 0;  }  */

原创粉丝点击