美文网首页
从 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