`

C++如何获取系统进程列表

    博客分类:
  • C++
阅读更多

 

PROCESSENTRY32 pe32;
	// 在使用这个结构之前,先设置它的大小
	pe32.dwSize = sizeof(pe32); 
	
	// 给系统内的所有进程拍一个快照
	HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if(hProcessSnap == INVALID_HANDLE_VALUE)
	{
		printf(" CreateToolhelp32Snapshot调用失败! \n");
		return;
	}
	
	// 遍历进程快照,轮流显示每个进程的信息
	BOOL bMore = ::Process32First(hProcessSnap, &pe32);
	while(bMore)
	{
		printf(" 进程名称:%s \n", pe32.szExeFile);
		printf(" 进程ID号:%u \n\n", pe32.th32ProcessID);

		bMore = ::Process32Next(hProcessSnap, &pe32);
	}

	// 不要忘记清除掉snapshot对象
	::CloseHandle(hProcessSnap);

	char a;
	std::cin >> a;
	return;

 

注:我在VS2008调试该程序的时候,输出的进程名称总是名称的第一个字符,眼看%s也对啊,后来看了下pe32,szExeFile的数据类型是WCHAR数组,这是因为VS2008默认的字符集是Unicode,只要在工程属性里做如下设置: 配置属性 --> 常规 --> 将“字符集 ”改为未设置 即可。

分享到:
评论

相关推荐

    c++实现进程列表c++实现进程列表

    C++标准库本身并不直接提供获取当前系统进程列表的功能,但可以通过操作系统提供的API来实现这一目标。以下是对这个主题的详细阐述: 一、进程与进程列表 1. **进程**:在计算机科学中,进程是程序的一次执行实例,...

    Visual C++源代码 81 如何获取系统指定进程线程信息

    Visual C++源代码 81 如何获取系统指定进程线程信息Visual C++源代码 81 如何获取系统指定进程线程信息Visual C++源代码 81 如何获取系统指定进程线程信息Visual C++源代码 81 如何获取系统指定进程线程信息Visual ...

    Visual C++源代码 80 如何获取系统指定进程模块信息

    Visual C++源代码 80 如何获取系统指定进程模块信息Visual C++源代码 80 如何获取系统指定进程模块信息Visual C++源代码 80 如何获取系统指定进程模块信息Visual C++源代码 80 如何获取系统指定进程模块信息Visual ...

    C++实现获取模块在进程中地址

    在编程领域,尤其是在系统级编程或者逆向工程中,经常需要获取进程中的模块地址。C++作为一门强大的系统编程语言,提供了丰富的API和库来帮助我们实现这样的功能。本篇文章将详细探讨如何在C++中实现获取模块在进程...

    获取系统进程(c/c++)

    下面是一个简化的示例代码片段,展示了如何使用`ToolHelp`函数获取系统进程列表: ```cpp #include #include int main() { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if ...

    c++获取cpu使用率(包含系统和单进程)

    在C++编程中,获取CPU使用率是一项常见的需求,无论是为了监控系统性能,还是分析某个特定进程的资源消耗。本文将详细讲解如何使用C++来获取系统整体的CPU使用率以及单个进程的CPU使用率。 首先,我们需要理解CPU...

    获取父进程的ID.获取父进程ID的代码 NtQueryInformationProces

    在Windows操作系统中,获取一个进程的父进程ID是一项常见的任务,这在系统监控、调试或者安全分析中都可能用到。本主题将详细介绍如何通过NtQueryInformationProcess API来实现这个功能。 ...

    c++获取进程信息列表和进程所调用的dll列表

    在C++编程中,获取进程信息列表以及进程所调用的DLL列表是系统监控和调试的重要环节。本文将详细介绍如何使用C++实现这一功能,并提供相关的代码示例。 首先,我们需要了解两个关键的Windows API函数:`...

    2.如何获取系统进程?(Visual C++编程 源代码)

    2.如何获取系统进程?(Visual C++编程 源代码)2.如何获取系统进程?(Visual C++编程 源代码)2.如何获取系统进程?(Visual C++编程 源代码)2.如何获取系统进程?(Visual C++编程 源代码)2.如何获取系统进程?...

    visual c++ vc获取当前运行的进程列表GetProessList.rar

    在Visual C++ (VC++) 开发环境中,获取当前运行的进程列表是常见的系统编程任务,这对于监控、管理和调试系统程序非常有用。这个"GetProessList.rar"压缩包中的源代码示例,提供了如何实现这一功能的方法。接下来,...

    获取当前进程的列表

    //获取当前进程ID m_list.InsertItem(i,id);//插入一个项目 m_list.SetItemData(i,info->th32ProcessID);//设置项目值 id.Format("%s",info->szExeFile);//获取当前进程名 m_list.SetItemText(i,1,id);//设置...

    C++ 简单的可杀系统进程 进程管理程序

    同时,“可以提升Debug权限”意味着程序可能使用了SetDebugPrivilege函数来获取调试权限,这对于能够终止某些受保护的系统进程是必要的,因为通常只有具有较高权限(如SYSTEM或管理员)的进程才能终止其他进程。...

    LINUX 下C++ 获取系统时间和设置时间

    在Linux环境下,使用C++获取和设置系统时间是一项常见的任务,尤其在开发系统级程序时。本文将详细探讨如何利用C++在Linux中操作时间。 首先,我们需要了解Linux中的时间模型。在Linux中,时间主要分为两类:系统...

    C++调用WMI遍历进程

    C++调用WMI来遍历进程,是一种常见的系统监控和管理技术。本篇文章将深入探讨如何使用C++通过WMI实现这一功能。 首先,我们需要理解WMI的基本概念。WMI是基于Microsoft的分布式管理任务组(DMTF)的Common ...

    获取进程的cpu和内存的占用大小

    具体来说,可以使用`CreateToolhelp32Snapshot`函数获取进程快照,然后使用`Process32First`和`Process32Next`遍历进程列表,找到目标进程。接着,调用`OpenProcess`函数获取进程句柄,再使用`GetProcessMemoryInfo`...

    获取其他进程启动参数方法

    在IT领域,尤其是在系统编程和调试中,有时我们需要获取其他进程的启动参数。这涉及到对操作系统内部机制的理解,以及熟练运用编程语言如C++来实现。本文将详细讲解如何在Windows环境下,通过不同的方法获取其他进程...

    C/C++实现linux和Windows查看系统、进程、服务的内存和CPU使用

    C/C++实现linux和Windows查看系统、进程、服务的内存和CPU使用情况的源代码,生成的是静态链接库,Windows和Linux下经测试都可用,查看系统、指定名称的服务、指定名称的进程占用CPU和内存,查看方式不是通过程序中...

    C++判断进程是否存在

    在IT领域,尤其是在系统编程与进程管理中,C++作为一种高效、灵活的编程语言,被广泛应用于各种场景,包括但不限于操作系统、游戏开发、服务器端应用等。本文将深入解析如何利用C++判断一个进程是否存在的技术细节,...

    vc获取进程名和PID的程序源码

    在Windows操作系统中,获取进程名和PID(进程标识符)是一项常见的系统编程任务,尤其对于开发者来说,了解如何实现这一功能至关重要。在这个场景下,我们关注的是使用VC++(Visual C++)和MFC(Microsoft ...

    C++x64内核保护进程源码_保护进程_x64内核保护进程_进程保护_进程保护c++

    在C++中,可以使用Windows API函数(如CreateToolhelp32Snapshot)来遍历和分析进程,或者编写内核驱动程序来获取更高的控制权限。 5. **源码分析**:`ProtectProcess`可能是源码中的关键函数或类,负责实现进程...

Global site tag (gtag.js) - Google Analytics