visual c++得到系统所有进程
来源:互联网 发布:kali windows 双系统 编辑:程序博客网 时间:2024/06/05 11:03
用CreateToolhelp32Snapshot/Process32First/Process32Next API枚举系统进程
在很多情况下需要对系统的进程进行操作,方法有很多种但最常用的是
CreateToolhelp32Snapshot/Process32First/Process32Next 一系列API使现结束进程使用
TerminateProcess使现
下面的函数可以使现对进程的枚举:
int ProcessList()
{
PROCESSENTRY32 pe32;
pe32.dwSize=sizeof(pe32);
int count=0;
HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot调用失败!");
return -1;
}
BOOL bMore=::Process32First(hProcessSnap,&pe32);
printf("%20s/t%10s/n","进程名","PID");
printf("====================================/n");
while(bMore)
{
count++;
printf("%20s/t%10d/n",pe32.szExeFile,pe32.th32ProcessID);
bMore=::Process32Next(hProcessSnap,&pe32);
}
::CloseHandle(hProcessSnap);
printf("====================================/n");
printf("/n当前系统进程数为:%d/n",count);
return 0;
}
结束进程可以使用下面的函数:(使现其中dwid为想要结束的进程ID可通过列进程的函数得到)
int TerminateProcessFromId(DWORD dwId)
{
BOOL bRet=FALSE;
HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId);
if(hProcess!=NULL)
{
bRet=::TerminateProcess(hProcess,0);
}
::CloseHandle(hProcess);
if(bRet)
printf("%d 进程结束成功....../n/n/n/n",dwId);
else
printf("%d 进程结束失败....../n/n/n/n",dwId);
return 0;
}
与进程相关的操作通常还要提升权限,由关提升权限可以看偶的另一篇笔记《提升进程权限代码.》
由于代码相对比较简单,所以就没有更多的文字说明,关键的函数加了注释,其实使用时直接调用就OK了.
0 0
- visual c++得到系统所有进程
- visual c++得到系统所有进程
- VC 得到系统所有打印机
- Java得到系统所有属性
- 得到系统进程和结束某个指定的进程 (C#)
- 获取系统所有进程
- 枚举进程,得到所有进程全路径文件名
- 得到一个系统的所有信息
- 得到所有有名字的系统颜色
- Java得到系统,浏览器信息和request得到所有信息
- c中得到系统时间
- 获取系统当前所有进程
- C#得到系统进程和结束某个指定的进程
- 得到系统进程和结束某个指定的进程
- C#得到系统进程和结束某个指定的进程
- 得到系统进程和结束某个指定的进程
- C#得到系统进程和结束某个指定的进程
- C#得到系统进程和结束某个指定的进程
- Python的数据类型转换、类型判断等
- PHP判断一个请求是AJAX请求还是普通请求
- jsp页面如何使用“EL嵌套"
- win7+VS2008安装QT、环境配置以及简单实例演示
- MATLAB数据矩阵单位化,归一化,标准化
- visual c++得到系统所有进程
- Html-图片映射---ShinePans
- HTML5--canvas笔记(2)
- 【HDU】4729 An Easy Problem for Elfness 可持久化线段树——主席树
- 关于iOS 中得block传值问题献给新手
- Radasm使用简明手册(中文版)
- 第四章的思维导图
- Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]
- 【Access2007】Access2007的打开方式