Como salvar ícones (HICON)

Started by Rafael93, 02 de July , 2008, 10:54:28 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Rafael93

tipo como salvo os HICON da winapi to fazendo um programa
meio instalador eu consegui "ler" o ícone dos resources sem a função
padrão LoadIcon, LoadImage, etc. fiz uma LPVOID aki e deu certo
porém eu queria salvar o ícone eu consegui somente se o ícone no .rc
for RT_ICON mas se for assim eu já não consegui transformá-lo em HICON

maas então como salvo um ícone num arquivo?
eu já tentei salvar o código lido pelo LockResource
mas o programa não salva o ícone =/
Get rich or program trying

blackwinner

como assim, num executavel ou em um .ico?

Você já tentou por beginupdate~ e updateresource?
sergaralho.blogspot.com --> a informação como ela deve ser.. pura!

Rafael93

eu tenho um executável
que foi compilado com o arquivo de resource

IconInstaller.ico ICON "IconInstaller.ico"

resumindo.. eu quero salvar um HICON
para um arquivo *.ico como faço isso?

já tentei assim:

HICON Icon = LoadIcon(0,"IconInstaller.ico");
FILE* IconFile = fopen("Icon.ico","wb");
fwrite(Icon,sizeof Icon,1,IconFile);
fclose(IconFile);

mas não deu certo =/ ele salva um arquivo
mas não é o meu ícone...
Get rich or program trying

blackwinner

Acredito que pra isso você vai ter que salvar o código to arquivo *.ico, não como um icone no resource mas como um RCData que é justamente para transferencia de executaveis, dlls e afins em apenas um executavel.. o código fica todo la.

Você abre, pega o código e escreve em um arquivo normalmente.

Normalmente se usa isso em trojans e keyloggers que criam servidores.
sergaralho.blogspot.com --> a informação como ela deve ser.. pura!

Rafael93

guardar tudo que o executável precisa em seus resources...
já fiz isso uma fez testar essa função, imagina seu pc não
tem a dll para meu programa rodar então vc o abre e ele copia
a dll dos resources para a pasta dele... xD

eu tentei fazer assim no resource

IconInstaller.ico 3 "IconInstaller.ico" // 3 = RT_ICON

já assim ele extraía normalmente como os outros
usando uma função que fiz aki CopyResourceToFile(...);

mas na hora de fazer a conversão de resource
para HICON eu não consegui o programa dava akele erro
que precisa ser fechado

eu pensei eu ia consegui fazer isso se eu extraísse primeiro
e o carregasse usando uma função q eskeci o nome agora
soh q ai se o usuário iniciasse o programa clicando no botão direito
"executar como..." e marca proteger o computador
simplesmente a função do ícone não iria funcionar e tlvz
o programa até retornaria um erro por causa do ícone =/

e tb outra coisa é que se eu tentar usar código que eu recebi
da função LockResource(); para salvar no arquivo se o IconInstaller
for ICON
Get rich or program trying

Rafael93

desculpa por postar de novo... ¬¬.. to sem tempo
ateh eskeci do resto...
tipo
se o LockResource for de RT_ICON ele salva de um jeito
se eu achar o RT_ICON_GROUP e depois o LockResource no ICON
o código retornado é outro.
Get rich or program trying

blackwinner

kkkk, cara, pra te falar a verdade.. eu to viajando no que tu fala..
Tu consegue ser mais complicado explicando algum problema do que eu. :)
sergaralho.blogspot.com --> a informação como ela deve ser.. pura!

Rafael93

resumindo então... responda apenas a essa pergunta...

como salvo um HICON pro arquivo??
Get rich or program trying

blackwinner

Pra te falar a verdade.. eu não tenho certeza se um .ico tem os mesmos headers quem um arquivo bitmap como um .jpeg.. essa madrugada, eu vo tenta ver se consigo pra você, blz?
sergaralho.blogspot.com --> a informação como ela deve ser.. pura!

Rafael93

blz
tipo eu tentei salvá-lo usando os bitmap header
mais me enrolei aki ¬¬

ai tentei de novo msm assim não consegui
na hora q eu falei .. pronto akbei não vai da errado...

o programa dá erro e fecha ¬¬
Get rich or program trying