Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi negative Ikonnummer (https://www.delphipraxis.net/201038-negative-ikonnummer.html)

Mattze 18. Jun 2019 07:42

negative Ikonnummer
 
Hallo,

ich krieg's einfach nicht raus. Vielleicht könnt Ihr helfen:
In der Registry und z. Bsp. auch in der Desktop.ini gibt MS
für die Ikonnummer eine negative Zahl an.
Bei mir in einer Desktop.ini:
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell 32.dll,-21769
IconResource=%SystemRoot%\system32\imageres.dll,-183

Woher kriegt MS die? Genauer:
Wenn ich die Iconnummer (als positive Zahl) in der Datei habe,
wie kriege ich dann dieses negative Pendant?

Ich habe schon alles mögliche versucht. Ich finde es einfach nicht...

Gruß
Mattze

mkinzler 18. Jun 2019 08:07

AW: negative Ikonnummer
 
Es handeltsich hier nicht um den Index, sondern um die Ressourcen ID.

Mattze 18. Jun 2019 08:25

AW: negative Ikonnummer
 
Hallo,

das ist die Antwort?
Und woher kriege ich die, wenn ich (nur) die Ikonnummer in der Datei habe?

Bsp.: Ich hole mir die Ikonen aus der Datei raus und stelle sie in ein Grid.
Als Ikonnummer nehme ich die Nummer der Zelle (0-basiert).
Und wie kriege ich nun die negative Ressourcen-ID dafür?

Gruß
Mattze

hoika 18. Jun 2019 08:44

AW: negative Ikonnummer
 
Hallo,
vielleicht hilft das.
Prüfe auch die dort verlinkten Artikel.

https://stackoverflow.com/questions/...cutable-with-c

mkinzler 18. Jun 2019 08:45

AW: negative Ikonnummer
 
Die IDs stehen ja auch in der Dll. Du musst diese beim Laden in das Grid halt auch aus der Dll mit auslesen.

Mattze 18. Jun 2019 09:58

AW: negative Ikonnummer
 
Hallo,

die IDs stehen auch in der DLL (und zwar dem Ikon zuordenbar)?
Na, das ist ein Ding!
Mal sehen, ob und wie ich die rauskriege.

Danke!

Gruß
Mattze

peterbelow 18. Jun 2019 11:23

AW: negative Ikonnummer
 
Zitat:

Zitat von Mattze (Beitrag 1434901)
Hallo,

das ist die Antwort?
Und woher kriege ich die, wenn ich (nur) die Ikonnummer in der Datei habe?

Bsp.: Ich hole mir die Ikonen aus der Datei raus und stelle sie in ein Grid.
Als Ikonnummer nehme ich die Nummer der Zelle (0-basiert).
Und wie kriege ich nun die negative Ressourcen-ID dafür?

Gruß
Mattze

Und wie extrahierst Du die Icons?

Dir scheint da einiges an Grundlagen darüber zu fehlen, wie solche Resourcen in einer DLL oder exe überhaupt strukturiert sind. Leider ist die Microsoft-Dokumentation zu diesem Thema ziemlich spartanisch und technisch. Vielleicht sollest Du dir mal ein Tool wie ResourceHacker installieren, damit kann man sich die Resourcen in einer DLL oder EXE mal im Detail ansehen.

Mattze 18. Jun 2019 11:42

AW: negative Ikonnummer
 
Hallo Peter,

es ist keine Frage, dass mir da einiges fehlt. Sonst würde ich ja auch nicht fragen.
Allerdings extrahiere ich die Ikonen schon seit mindestens 10 Jahren ohne Probleme.
Ich habe mir da einen Viewer gebastelt, der unter anderem auch alle Ikonen in exe oder dll auflistet.
Da Du darauf hinweist, werde ich mal schauen, wie ich das überhaupt mache...

Gruß
Mattze


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz