Quer extrair um ícone que achou legal de um arquivo ?
Nesta dica irei mostrar como extrair o ícone de um arquivo . Isto mesmo , geralmente os arquivos estão associados a um ícone , e , com este pequeno projeto você poderá extrair e exibir o ícone. Veja como é simples...
Public Const DI_MASK = &H1 Public Const DI_IMAGE = &H2 Public Const DI_NORMAL = DI_MASK Or DI_IMAGE Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociatedIconA" _ (ByVal hInst As Long, ByVal lpIconPath As String, lpiIcon As Long) As Long Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, _ ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth _ As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal _ diFlags As Long) As Long Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long |
No evento click do botão de comando insira o seguinte código:
Private Sub Command1_Click() 'Text1.text contem o nome do arquivo para extrair o icone mIcon = ExtractAssociatedIcon(App.hInstance, Text1.Text, 2) 'Exibe o icone no controle Picture DrawIconEx Picture1.hdc, 0, 0, mIcon, 0, 0, 0, 0, DI_NORMAL 'Remove o icone da memoria DestroyIcon mIcon End Sub |
Rode o projeto e informe o nome do arquivo na caixa de texto, clique no botão e o ícone será extraído e exibido na PictureBox.
Veja o resultado para um arquivo chamado Pikachu.scr para o qual eu testei o projeto:
Teste você agora ...