对系统进程的一些操作!
2010-07-22 09:31
239 查看
这是简单对系统进程的一些操作,欢迎大家看看。
#include "stdafx.h"
#include <windows.h>
#include <tlhelp32.h>
int main(int argc, char* argv[])
{
//简单打开进程
/*STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
char * szCommandLine = "notepad";
CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);
*/
//打开进程,并且返回进程的信息
char szCommandLine[] = "cmd";
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = 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);
}
//查看进程
PROCESSENTRY32 pe32;
pe32.dwSize=sizeof(pe32);
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot 调用失败!/n" );
return -1;
}
BOOL bMore = Process32First(hProcessSnap,&pe32);
int i = 0;
while(bMore)
{
i++;
printf("进程名称 %s/n",pe32.szExeFile);
printf("进程ID号: %u/n/n",pe32.th32ProcessID);
bMore = Process32Next(hProcessSnap,&pe32);
}
printf("总进程数: %d/n",i);
CloseHandle(hProcessSnap);
//终止进程
/* DWORD dwId = 5252;
BOOL bRet = FALSE;
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId);
if(hProcess != NULL)
{
bRet = TerminateProcess(hProcess,0);
}
CloseHandle(hProcess);
if(bRet)
{
printf("终止进程成功/n");
}
else
{
printf("终止进程失败/n");
}*/
return 0;
}
#include "stdafx.h"
#include <windows.h>
#include <tlhelp32.h>
int main(int argc, char* argv[])
{
//简单打开进程
/*STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
char * szCommandLine = "notepad";
CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);
*/
//打开进程,并且返回进程的信息
char szCommandLine[] = "cmd";
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = 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);
}
//查看进程
PROCESSENTRY32 pe32;
pe32.dwSize=sizeof(pe32);
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot 调用失败!/n" );
return -1;
}
BOOL bMore = Process32First(hProcessSnap,&pe32);
int i = 0;
while(bMore)
{
i++;
printf("进程名称 %s/n",pe32.szExeFile);
printf("进程ID号: %u/n/n",pe32.th32ProcessID);
bMore = Process32Next(hProcessSnap,&pe32);
}
printf("总进程数: %d/n",i);
CloseHandle(hProcessSnap);
//终止进程
/* DWORD dwId = 5252;
BOOL bRet = FALSE;
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId);
if(hProcess != NULL)
{
bRet = TerminateProcess(hProcess,0);
}
CloseHandle(hProcess);
if(bRet)
{
printf("终止进程成功/n");
}
else
{
printf("终止进程失败/n");
}*/
return 0;
}
相关文章推荐
- linux查看系统的日志的一些实用操作
- lixux系统中bash命令下一些操作技巧
- 我的C/C++之路-009课(字符串操作&重写C系统一些字符串操作函数)
- resure挽救笔记本系统和一些相关的操作记录
- Android系统级开发进程清理功能的一些记录和发现
- linux查看系统的日志的一些实用操作
- linux查看系统的日志的一些实用操作
- 【转】ring3 CPU指令级别--操作内核的一些系统级别工具
- 如何在centOS等一些linux系统下安装oracle sqldeveloper图形化数据库操作界面
- Windows下对进程的一些操作
- 有一些函数需要在root权限或者运行在系统进程中的使用方法
- mac系统的一些操作常识
- python输出一些系统信息 进程内存前10名,CPU前10名信息等
- 关于查看进程、系统、用户、内核、及一些硬件设备的命令
- Android root环境下的一些可用操作(关机命令,系统时间,重启命令)
- linux操作之:设置系统启动时,自动启动一些程序,或者执行一些命令
- 使用Visual Basic 6.0开发程序的一些方法技巧收集之二:进程操作
- C#中关于进程的一些常用操作
- 关于获取Android系统所有已安装App信息的一些操作(详细)
- C# 检测操作系统是否空闲,实现系统空闲后做一些操作