进程的几种操作c++版

来源:互联网 发布:网络系统安全课程 编辑:程序博客网 时间:2024/05/01 00:52


// JinCheng.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include "stdlib.h"
#include <windows.h>
using namespace std;

int main()
{
 //创建进程
 char szCommandLine[]="cmd";
 STARTUPINFO si={sizeof(si)};
 PROCESS_INFORMATION pi;
 si.dwFlags=STARTF_USESHOWWINDOW;
 si.wShowWindow=true;
 int a;
 bool bRet=::CreateProcess(
    NULL,
    szCommandLine,
    NULL,
    NULL,
    FALSE,
    CREATE_NEW_CONSOLE,
    NULL,
    NULL,
    &si,
    &pi);
 if(bRet)
 {
  ::CloseHandle(pi.hThread);
  ::CloseHandle(pi.hProcess);
  cout<<"创建成功!"<<endl;
  cout<<"新进程的进程ID号:"<<pi.dwProcessId<<endl;
  cout<<"新进程的主线程的ID号:"<<pi.dwThreadId<<endl;
 }
 else
 {
  cout<<"创建失败!"<<endl;
 }
 char c;
 while(true)
 {
  cout<<"请选择需要的操作:"<<endl;
  cin>>c;
  switch(c)
  {
   case '1':
    ::TerminateProcess(pi.hProcess,0);
    cout<<"终止进程!"<<endl;
    break;
   case '2':
    SuspendThread(pi.hThread);
    cout<<"挂起进程!"<<endl;
    break;
   case '3':
    ::ResumeThread(pi.hThread);
    cout<<"激活进程!"<<endl;
    break;
   default:
    cout<<"错误操作代码!"<<endl;
  }
 }
 return 0;
}

0 0
原创粉丝点击