进程监视器无法在 64 位计算机上启动

Rya*_*ela 23 windows monitoring windows-7 64-bit

当我尝试在某些 64 位 Windows 7 机器上从 SysInternals 启动进程监视器时,进程无法启动。没有错误信息。我双击,什么也没发生。其他 64 位 Windows 7 计算机工作正常。有任何想法吗?

Rya*_*ela 33

这是我发现的。32 位 Procmon.exe 在其中包含 64 位 exe 作为二进制资源。当 32 位 exe 启动时,它会将 64 位版本提取到名为 Procmon64.exe 的隐藏文件中,然后执行该文件。由于某种原因,此过程在某些 Windows 7 安装中失败。

我设法使用 Visual Studio 2010 提取了 64 位 exe。

  1. 打开 Visual Studio 并使用 File->Open->File... 菜单打开 Procmon.exe 文件
  2. 在资源树中,展开“BINRES”节点
  3. 右键单击 1308 节点并选择导出...
  4. 将导出的资源命名为 Procmon-64.exe 并保存
  5. 运行解压出来的exe

不要将提取的 exe 命名为 Procmon64.exe(无连字符),因为 32 位 Procmon 会在有机会时尝试删除它。

如果您没有 Visual Studio,请使用 Windows 可执行资源提取器,如 ResourcesExtract - http://www.nirsoft.net/utils/resources_extract.html

  • 有一次,当我沮丧地反复双击 Procmon.exe 时,我在 Windows 资源管理器中看到隐藏的 Procmon64.exe 闪烁。这给了我 64 位版本正在被 32 位版本提取的线索。按照这种预感,我打开 32 位 exe 来检查它的资源,我发现一个比其他的要大几个数量级。我提取了资源并将其保存为 .exe。瞧,这是缺少的 64 位进程监视器。 (5认同)
  • 有趣的是,您找到了一种解决方法,但我对为什么您甚至需要这样做更感兴趣。 (2认同)

小智 5

让我打动你的心。procmon.exe 需要运行工作站服务才能启动。它用它来枚举一些东西,没有它就会默默地死去。

这在任何地方都没有记录,而且非常虚假。