是否可以获取“图像路径名称”? csrss.exe 的哪个是系统进程?

发布于 2024-10-31 09:50:00 字数 301 浏览 0 评论 0原文

Windows系统进程(在本例中是Windows 7)“csrss.exe”作为系统进程运行,当我去获取(当然是通过编程方式)带有pid、命令行和图像路径名的进程列表时,我没有得到任何信息命令行或图像路径名的值,因为 Windows 不会让您获取系统进程的该信息(我相信)。

有没有办法从系统进程中获取图像路径名? Windows 实际上会阻止您这样做吗?有解决方法吗?

更新:调用 ReadProcessMemory() 函数

[http://msdn.microsoft.com/en-us/library/aa915312.aspx]

The windows system process (in Windows 7 for this example) "csrss.exe" runs as a SYSTEM process and when I go to get (programmatically, of course) the process list with pid, command line, and image path name I get no values for command line or image path name because Windows won't let you grab that information for a SYSTEM process (I believe).

Is there a way I can grab image path name from a SYSTEM process? Does Windows actually prevent you from doing this? Is there a workaround?

Update: calling ReadProcessMemory() function

[http://msdn.microsoft.com/en-us/library/aa915312.aspx]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遇到 2024-11-07 09:50:00

最简单的方法(比 ReadProcessMemory 容易得多,如果您知道在哪里查找也是可以的)是使用 CreateToolhelp32Snapshot,您将在该 MSDN 页面上看到更多参考;

TH32CS_SNAPPPROCESS 0x00000002

包含系统中的所有进程
在快照中。来列举
进程,请参阅 Process32First

请注意,您可以使用
QueryFullProcessImageName 函数
检索全名
32 位和 32 位的可执行映像
32 位进程转为 64 位进程
流程。

szExeFile 可执行文件的名称
该过程的文件。要检索
可执行文件的完整路径,调用
Module32First 函数并检查
szExePath 成员
MODULEENTRY32 结构是
回来了。但是,如果调用
进程是32位进程,你必须
调用QueryFullProcessImageName
函数来检索完整路径
64位的可执行文件
流程。

非常简单。

The easy way (much easier than ReadProcessMemory, which is also possible if you know where to look) to do this is with CreateToolhelp32Snapshot, you'll see on that MSDN page further references;

TH32CS_SNAPPROCESS 0x00000002

Includes all processes in the system
in the snapshot. To enumerate the
processes, see Process32First.

Note that you can use the
QueryFullProcessImageName function to
retrieve the full name of an
executable image for both 32- and
64-bit processes from a 32-bit
process.

szExeFile The name of the executable
file for the process. To retrieve the
full path to the executable file, call
the Module32First function and check
the szExePath member of the
MODULEENTRY32 structure that is
returned. However, if the calling
process is a 32-bit process, you must
call the QueryFullProcessImageName
function to retrieve the full path of
the executable file for a 64-bit
process.

Pretty straightforward.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文