从 Exe 文件中提取图标资源

2017-08-29  本文已影响632人  勤劳的悄悄

主要用到两个函数

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

这个函数有两个作用

用法

# 获取图标数量
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()
上一篇 下一篇

猜你喜欢

热点阅读