获取windows程序图标并将其另存为.png Python

2024-06-28 19:22:22 发布

您现在位置:Python中文网/ 问答频道 /正文

下面我有一些代码,获取一个.exe文件,从中获取图像,并将其保存为.bmp文件。这很好,但我需要保存.bmp与原来的透明背景.exe文件图标。有没有方法可以修改下面的代码来做到这一点?在

代码:

def image2(path):
    path = path.replace("\\", "/")
    icoX = win32api.GetSystemMetrics(win32con.SM_CXICON)
    icoY = win32api.GetSystemMetrics(win32con.SM_CXICON)

    large, small = win32gui.ExtractIconEx(path, 0)
    win32gui.DestroyIcon(small[0])

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

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

    savePath = "Octo Organizer (Hybrid Edition)/Files/"
    #hbmp.SaveBitmapFile(hdc, savePath + "None.bmp")
    bmpinfo = dataBitMap.GetInfo()
image2("C"/Users/None/Desktop/Mozilla.exe") #This is just a example file path.

Tags: 文件path代码exesmwin32guibmpimage2