ListProcess KillProcess

#include <windows.h>
#include <tlhelp32.h>
#include <iostream>
#include <string>

using namespace std;

int ListProcess()
  {
   cout<<endl<<"Running Processes"<<endl;
 

    HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

 PROCESSENTRY32* processInfo=new PROCESSENTRY32;


    processInfo->dwSize=sizeof(PROCESSENTRY32);
    int index=0;


    while(Process32Next(hSnapShot,processInfo)!=FALSE)
 {
  cout<<endl<<"***********************************************";
  cout<<endl<<"\t\t\t"<<++index;
  cout<<endl<<"***********************************************";
  cout<<endl<<"Parent Process ID: "<<processInfo->th32ParentProcessID;
  cout<<endl<<"Process ID: "<<processInfo->th32ProcessID;
  cout<<endl<<"Name: "<<processInfo->szExeFile;
  cout<<endl<<"Current Threads: "<<processInfo->cntThreads;
  cout<<endl<<"Current Usage: "<<processInfo->cntUsage;
  cout<<endl<<"Flags: "<<processInfo->dwFlags;
  cout<<endl<<"Size: "<<processInfo->dwSize;
  cout<<endl<<"Primary Class Base: "<<processInfo->pcPriClassBase;
  cout<<endl<<"Default Heap ID: "<<processInfo->th32DefaultHeapID;
  cout<<endl<<"Module ID: "<<processInfo->th32ModuleID;
 }

  CloseHandle(hSnapShot);
  delete processInfo;
  cout<<endl;
  cout<<endl<<"***********************************************";
  cout<<endl<<endl;
  return 0;
}

int KillProcess(int processID)
{
 
 HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,processID);
   if(hProcess==NULL)
   {
       cout<<"Unable to get handle of process: "<<processID;
       cout<<"Error is: "<<GetLastError();
       return 1;
   }
 cout<<endl<<"Priority Class: "<<GetPriorityClass(hProcess);
    SetPriorityClass(hProcess,HIGH_PRIORITY_CLASS);
    CloseHandle(hProcess);
 cout<<endl<<"Enter Process ID to terminate that process: ";
    cin>>processID;
    hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,processID);
    if(hProcess==NULL)
    {
        cout<<"Unable to get handle of process: "<<processID;
        cout<<"Error is: "<<GetLastError();
    }
    TerminateProcess(hProcess,0);
    return 0;
 }

 int main( )
 {
 ListProcess();
 int processID;
 cout<<"Enter ProcessID to get handle of the process: ";
    cin>>processID;
 KillProcess(processID);
 return 0;
}

 

posted on 2004-09-20 15:00  悠悠小鱼  阅读(302)  评论(0)    收藏  举报

导航