Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Icon laden und Pointer bekommen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.06.2008, 11:10 Uhr
~Alex__
Gast


Hallo zusammen,

ich möchte aus einer .exe das Icon auslesen und als Textur benutzen.

Für das Laden der Texturen verwende ich den Texture Manager (http://members.iinet.net.au/~cleathley/openGL/TextureLoader.htm). Damit ist es möglich .ico Dateien direkt als Textur zu verweden.

Der Aufruf lautet:

Code:
LoadTextureFromRam(unsigned char *pData,
                   int           Length,
                   glTexture     *pglTexture,
                   eglTexType    TexType)

pData      Pointer to a memory location which contains the Raw Binary data of an Image file.
Length     The Length of the Raw Binary data.
pglTexture    

Pointer to a glTexture structure which will be populated on return with the Texture ID to use for openGL.
eglTexType    

Defines the Image format type of the data pointed to by pData. Valid values are; txBmp, txGif, txJpg, txIco & txTga. This must be of the correct type for this command to work.


Das Icon lade ich mit:


C++:
HICON hIconSmall;
ICONINFO IconInfo;

ExtractIconEx((LPCTSTR)"c:\polsuche.exe", 0, NULL, &hIconSmall, 1);
GetIconInfo(hIconSmall, &IconInfo);


Wie bekomme ich aber jetzt den Pointer auf die Rohdaten im Speicher und die Länge?

Gruß
Alex
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.06.2008, 13:38 Uhr
Tron



Moin,

pData -> &IconInfo
Length -> sizeof(ICONINFO)

Gruss Tron
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.06.2008, 14:02 Uhr
~Alex__
Gast


Hallo Tron,

das mit der Länge klappt, aber der Pointer leider nicht:


Code:
HICON hIconSmall;
ICONINFO IconInfo;

ExtractIconEx((LPCTSTR)"c:\polsuche.exe", 0, NULL, &hIconSmall, 1);
GetIconInfo(hIconSmall, &IconInfo);  

HBITMAP color, alpha;
color = IconInfo.hbmColor;
alpha = IconInfo.hbmMask;

glTexture icontexture;
pTextureLoader->LoadTextureFromRam(&IconInfo, sizeof(IconInfo), &icontexture, txIco);



Und der Fehler:

Zitat:

error C2664: 'TextureLoader::LoadTextureFromRam': Konvertierung des Parameters 1 von 'ICONINFO *__w64 ' in 'unsigned char *' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.




Und nu?
Gruß
Alex
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.06.2008, 15:59 Uhr
~Alex__
Gast


... wenn es einfacher ist, die eingelesene Datei auf der Platte zu speichern, würde es für meine Bedürfnisse auch schon reichen.

Alex
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.06.2008, 16:08 Uhr
Tron



Moin,

dann probiers mal so:


Code:
HICON hIconSmall;
ICONINFO *IconInfo;

ExtractIconEx((LPCTSTR)"c:\polsuche.exe", 0, NULL, &hIconSmall, 1);
GetIconInfo(hIconSmall, IconInfo);  

HBITMAP color, alpha;
color = IconInfo->hbmColor;
alpha = IconInfo->hbmMask;

glTexture icontexture;
pTextureLoader->LoadTextureFromRam(IconInfo, sizeof(IconInfo), &icontexture, txIco);


Gruss Tron
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.06.2008, 16:33 Uhr
~Alex__
Gast


Moin,

...gleicher Fehler:

error C2664: 'TextureLoader::LoadTextureFromRam': Konvertierung des Parameters 1 von 'ICONINFO *' in 'unsigned char *' nicht möglich.


LoadTextureFromRam erwartet einen "unsigned char *pData" als Pointer - da gibts ein Typproblem

Gruß
Alex
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: