美文网首页
从 Exe 文件中提取图标资源

从 Exe 文件中提取图标资源

作者: 勤劳的悄悄 | 来源:发表于2017-08-29 15:41 被阅读632次

主要用到两个函数

Win32 API : ExtractIconEx(...)ExtractIcon(...)

这个函数有两个作用

  • 获取 Exe 中图标的数量
  • 获取 Exe 文件中的图标,返回类型为 HICON

用法

# 获取图标数量
icon_count = win32gui.ExtractIconEx(r'BaiduNetdisk.exe', -1, 0)

# 获取图标句柄
h_icon = win32gui.ExtractIcon(0, r'BaiduNetdisk.exe', index)

Qt 函数:将图标句柄转换为文件

QtWin.fromHICON(HICON) 返回值为 QPixmap

例程

if __name__ == '__main__':
    # 需要一个 QApplication ,QaFileIconProvider 才能使用
    app = QApplication(sys.argv)

    icon_count = win32gui.ExtractIconEx( r'BaiduNetdisk.exe', -1, 0)

    for idx in range(icon_count):
        h_icon = win32gui.ExtractIcon(0, r'BaiduNetdisk.exe', idx)
        QtWin.fromHICON(h_icon).save(str(idx) + '.ico')

    app.quit()

相关文章

网友评论

      本文标题:从 Exe 文件中提取图标资源

      本文链接:https://www.haomeiwen.com/subject/otgodxtx.html