[Python] Python extracting a high resolution icon from an EXE file

Discussão em 'Python' iniciado por Stack, Outubro 6, 2024.

  1. Stack

    Stack Membro Participativo

    I'm trying to extract .ico files from executable files i found this code on the website

    import win32ui
    import win32gui
    import win32con
    import win32api

    ico_x = win32api.GetSystemMetrics(win32con.SM_CXICON)
    ico_y = win32api.GetSystemMetrics(win32con.SM_CYICON)

    large, small = win32gui.ExtractIconEx(r"C:\z\NEW ICON\a.exe",0)
    win32gui.DestroyIcon(small[0])

    hdc = win32ui.CreateDCFromHandle( win32gui.GetDC(0) )
    hbmp = win32ui.CreateBitmap()
    hbmp.CreateCompatibleBitmap( hdc, ico_x, ico_x )
    hdc = hdc.CreateCompatibleDC()

    hdc.SelectObject( hbmp )
    hdc.DrawIcon( (0,0), large[0] )

    hbmp.SaveBitmapFile( hdc, 'icon.bmp')



    this does work but it always gives me a 32x32 icon and i know the exe file contains higher resolution icons since i opened it with 7zip

    Continue reading...

Compartilhe esta Página