You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Virtmgmt.msc引用的VMHost.ico图标?

如何获取virtmgmt.msc引用的VMHost.ico图标?

问题背景

  • 本地C:\WINDOWS\System32\virtmgmt.msc为XML格式,其图标标签定义为:

    <Icon Index="0" File="VMHost.ico">

  • 但通过Everything全盘搜索,包括C:\WINDOWS\System32在内的所有目录均未找到VMHost.ico文件。
  • 对比C:\WINDOWS\system32\compmgmt.msc的图标标签使用完整路径:

    <Icon Index="2" File="%windir%\system32\mycomput.dll">
    该文件存在,调用Win32 API ExtractAssociatedIcon传入完整路径和索引可成功获取HICON。

解决方案

1. 直接针对virtmgmt.msc调用API提取

无需纠结找不到VMHost.ico,该文件名是系统内部的资源映射标识,直接对virtmgmt.msc本身提取即可:

  • 使用Win32 API ExtractIconEx,传入路径C:\WINDOWS\System32\virtmgmt.msc和索引0,直接获取对应HICON。
  • 或调用SHGetFileInfo,指定SHGFI_ICON参数搭配SHGFI_SMALLICON/SHGFI_LARGEICON,也能提取该msc文件关联的图标。

2. 从同名系统库中定位资源

VMHost.ico对应的图标实际存储在virtmgmt.dll中(与msc文件同名的系统动态库):

  • 用Resource Hacker等资源查看工具打开C:\WINDOWS\System32\virtmgmt.dll
  • 查看图标资源列表,索引0的图标即为目标图标
  • 直接导出该资源保存为ICO文件

3. PowerShell快速导出

无需编写复杂代码,用PowerShell一行命令即可导出:

$icon = [System.Drawing.Icon]::ExtractAssociatedIcon("C:\WINDOWS\System32\virtmgmt.msc")
$icon.Save("C:\temp\VMHost.ico")

执行后可在指定路径得到导出的VMHost.ico文件。

内容的提问来源于stack exchange,提问作者gigi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:27:21