Страница: 1 |
Вот мне здесь сказали что зная Hwnd можно сделать с окном чё хочешь. Теоретически это так. А какого фига я не могу достать иконку! Никакой апи подходящей вроде нет!
Как это нету? Находишь hWnd, затем через GetWindowLong - hInstance, затем затем GetModuleFileName - путь к файлу, затем через ExtractAssociatedIcon достаёшь из файла иконку, затем можно её где-нибудь сохранить, чтобы снова не доставать из файла. Встало дело... Вот достал я потенциальную иконку в виде переменной и ничего с ней сделать не могу! Ничего никуда не присваивается(ну это понятно) в общем никак не могу исп. её. Попробуй его нартсовать на каком-нить hDC, или мона еще преобразовать (наверное) этот хэндл иконки в нормальную картинку, вот этим... Наверное, DrawIcon все же будет проще Страница: 1 |
Вопрос: !!!!!!!HWND!!!!!!!
Добавлено: 01.04.04 23:45
Автор вопроса:
Дмитрий Щапов
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа: cresta
Вопросов: 117
Ответов: 1538
Профиль | | #1
Добавлено: 02.04.04 00:52
Номер ответа: 2
Автор ответа: Дмитрий Щапов
Вопросов: 71
Ответов: 321
Профиль | | #2
Добавлено: 03.04.04 15:03
Номер ответа: 3
Автор ответа: sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 03.04.04 17:36
Private Declare Sub OleCreatePictureIndirect Lib "oleaut32.dll" (ByRef lpPictDesc As PictDesc, riid As Guid, ByVal fOwn As Long, lplpvObj As Any)
cbSizeofStruct As Long
picType As Long
hImage As Long
xExt As Long
yExt As Long
End Type
Private Type Guid
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Dim iPic As IPicture, picDes As PictDesc, iidIPicture As Guid
With picDes
.cbSizeofStruct = Len(picDes)
.picType = &H3
.hImage = hIcon
End With
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(2) = &H0
.Data4(3) = &HAA
.Data4(4) = &H0
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With
Call OleCreatePictureIndirect(picDes, iidIPicture, True, IconToPicture)
End Function
Номер ответа: 4
Автор ответа: LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #4
Добавлено: 05.04.04 09:57