如何利用C中的操作系统获取系统信息



我需要获得有关运行处理Windows的信息。

我可以写些什么来让程序给出这样的列表:工作应用:Opera、Teamspeak。它有点像Windows中的任务管理器。

使用EnumProcesses()获取进程列表,然后您可以使用Process API函数(如GetModuleBaseName()(对其进行迭代,以获取有关单个进程的信息,如https://learn.microsoft.com/en-us/windows/win32/psapi/enumerating-all-processes

您可以使用以下任意一种:

  • EnumProcesses()获取运行进程ID的列表,然后OpenProcess()打开每个进程的句柄,并使用GetModuleFileNameEx()GetProcessImageFileName()QueryFullProcessImageName()查询其EXE文件名。请参阅枚举所有进程。

  • CreateToolhelp32Snapshot()获取运行进程的快照,然后Process32First()Process32Next()获取它们的EXE文件名。请参阅拍摄快照和查看进程。

一旦您有了EXE文件名,就可以使用GetFileVersionInfo()VerQueryValue()来检索它们的人类可读显示名称,例如从FileDescription版本信息字段中检索。

最新更新