Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2009 13:24:44

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить иконку из exe файла

Всем доброго! Подскажите пожалуйста каким способом можно вытащить иконку из exe-файла, какие пакеты при этом использовать?



Python 2.7.3
Pyside 1.1.2

Офлайн

#2 Дек. 3, 2009 14:21:50

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Вытащить иконку из exe файла

Офлайн

#3 Дек. 5, 2009 20:53:08

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить иконку из exe файла

Вот нашел пример:

import win32ui
import win32gui
import win32con
import win32api
import cStringIO
import Image
import os

tempDirectory = os.getenv("temp")

ico_x = win32api.GetSystemMetrics(win32con.SM_CXICON)

dst = cStringIO.StringIO()
for ss in range(0, 73):
if len(str(ss)) == 1:
FF = "0" + str(ss)
else:
FF = str(ss)
path = r"c:/base/base.exe/base_" + FF + ".exe"

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

#creating a destination memory DC

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


hdc.SelectObject( hbmp ) #draw a icon in it

hdc.DrawIcon( (0,0), large[0] )
win32gui.DestroyIcon(large[0])

#convert picture

hbmp.SaveBitmapFile( hdc, r"c:/BASE/baseico/ico_" + FF + ".bmp")

im = Image.open(r"c:/BASE/baseico/ico_" + FF + ".bmp")

im.save(dst, "JPEG")

dst.seek(0)

#os.remove(tempDirectory + "\Icontemp.bmp")
#return
#dst.read()
Но как сделать фон белым не знаю.



Python 2.7.3
Pyside 1.1.2

Офлайн

#4 Дек. 5, 2009 20:59:52

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить иконку из exe файла

Но как сделать фон белым не знаю.
модуль PIL для работы с картинками поможет тебе :)



Офлайн

#5 Дек. 6, 2009 07:52:46

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Вытащить иконку из exe файла

В контекст через hdc.DrawIcon рисуете? Так перед этим фон залейте своим цветом.
http://msdn.microsoft.com/en-us/library/dd145203(VS.85).aspx



Офлайн

#6 Сен. 7, 2012 14:08:15

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить иконку из exe файла

Андрей Светлов
В контекст через hdc.DrawIcon рисуете? Так перед этим фон залейте своим цветом.
http://msdn.microsoft.com/en-us/library/dd145203(VS.85).aspx
День добрый! Пробовал
hdc.SetBkColor(win32api.RGB(255,255,255))
не помогло. Не подскажете, что я не так сделал?



Офлайн

#7 Сен. 7, 2012 14:57:29

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить иконку из exe файла

Нашел

hdc.FillSolidRect((0, 0, 32, 32), 0xffffff)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version