Icon laden und Pointer bekommen

  • Icon laden und Pointer bekommen

    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 (members.iinet.net.au/~cleathley/openGL/TextureLoader.htm). Damit ist es möglich .ico Dateien direkt als Textur zu verweden.

    Der Aufruf lautet:

    Quellcode

    1. LoadTextureFromRam(unsigned char *pData,
    2. int Length,
    3. glTexture *pglTexture,
    4. eglTexType TexType)
    5. pData Pointer to a memory location which contains the Raw Binary data of an Image file.
    6. Length The Length of the Raw Binary data.
    7. pglTexture
    8. Pointer to a glTexture structure which will be populated on return with the Texture ID to use for openGL.
    9. eglTexType
    10. 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.
    Alles anzeigen


    Das Icon lade ich mit:

    Quellcode

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


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

    Gruß
    Alex
  • RE: Icon laden und Pointer bekommen

    filth schrieb:


    Das Icon lade ich mit:

    Quellcode

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


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

    Gruß
    Alex


    Versteh die Frage nich genau.
    Naja, falls du das meinst: Einen Zeiger auf die Daten kannst du mit dem *-Operator ermitteln, die Größe mit sizeof().
  • Hi,

    naja, die
    LoadTextureFromRam Methode braucht als Parameter "unsigned char *pData", einen Zeiger auf die Daten im Speicher.

    Ich habe aber nur einen handle auf das Icon:

    Quellcode

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


    Wie bekomme ich jetzt einen passenden Zeiger für die LoadTextureFromRam Methode?

    Alex