Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: !!!!!!!HWND!!!!!!! Добавлено: 01.04.04 23:45  

Автор вопроса:  Дмитрий Щапов

Вот мне здесь сказали что зная Hwnd можно сделать с окном чё хочешь. Теоретически это так. А какого фига я не могу достать иконку! Никакой апи подходящей вроде нет!

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #1 Добавлено: 02.04.04 00:52

Как это нету?

Находишь hWnd, затем через GetWindowLong - hInstance, затем затем  GetModuleFileName - путь к файлу, затем через ExtractAssociatedIcon достаёшь из файла иконку, затем можно её где-нибудь сохранить, чтобы снова не доставать из файла.

Ответить

Номер ответа: 2
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #2 Добавлено: 03.04.04 15:03

Встало дело... Вот достал я потенциальную иконку в виде переменной и ничего с ней сделать не могу! Ничего никуда не присваивается(ну это понятно) в общем никак не могу исп. её.

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 03.04.04 17:36

Попробуй его нартсовать на каком-нить hDC, или мона еще преобразовать (наверное) этот хэндл иконки в нормальную картинку, вот этим...

Private Declare Sub OleCreatePictureIndirect Lib "oleaut32.dll" (ByRef lpPictDesc As PictDesc, riid As Guid, ByVal fOwn As Long, lplpvObj As Any)

 

Private Type PictDesc
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

 

Private Function IconToPicture(ByVal hIcon As Long) As IPicture
Dim iPic As IPicture, picDes As PictDesc, iidIPicture As Guid
With picDes
.cbSizeofStruct = Len(picDes)
.picType = &H3
.hImage = hIcon
End With

 

With iidIPicture
.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

Наверное, DrawIcon все же будет проще

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам