Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ExtractIcon - Negativer Wert (https://www.delphipraxis.net/42165-extracticon-negativer-wert.html)

mumu 14. Mär 2005 21:42


ExtractIcon - Negativer Wert
 
wenn ich z.b. folgenden wert aus der registry auslese:
DefaultIcon: %SystemRoot%\System32\shell32.dll,-154

und dann das icon aus der dll mit dem Befehl
ExtractIcon auslese, dann erhalte ich ein ohne probleme ein icon.

wenn ich aber z.b. mit Microangelo oder einem anderen tool mir die icons anschau, dann gibt es das icon nur mit einem positiven index. wie komm ich von dem negativen zum positiven index.
z.b ist das icon mit dem index -154 und 73 gleich.

mal schauen, ob mich jemand versteht ;-)

shmia 15. Mär 2005 12:00

Re: ExtractIcon - Negativer Wert
 
Die MSDE sagt:
Zitat:

Windows 95/98/Me, Windows NT 4.0 and later:
If this value is a negative number not equal to -1, the function returns a handle to the icon in the specified file whose resource identifier is equal to the absolute value of nIconIndex. For example, use –3 to extract the icon whose resource identifier is 3. To extract the icon whose resource identifier is 1, use the ExtractIconEx function.
Also ich verstehe das so:
Ein Icon in einer Resourcendatei kann eine Nummer oder eine Bezeichnung als String verpasst kriegen.
Unique name or a 16-bit unsigned integer value identifying the resource
Nicht jeder Resourceneditor kann mit beiden Dingen umgehen.

Wenn nun ein Icon die Bezeichnung "300" (als String) erhalten hat, kannst du mit
ExtractIcon(,-300) darauf zugreifen.

mumu 15. Mär 2005 13:45

Re: ExtractIcon - Negativer Wert
 
Liste der Anhänge anzeigen (Anzahl: 2)
hmm das ist irgendwie logisch, blos trifft das irgendwie bei fast keiner datei zu:

beispiel im anhang

shmia 15. Mär 2005 17:33

Re: ExtractIcon - Negativer Wert
 
Zitat:

Zitat von mumu
hmm das ist irgendwie logisch, blos trifft das irgendwie bei fast keiner datei zu:

beispiel im anhang

Hmmm....
Das hat etwas mit dem Aufbau eines Resource-Headers zu tun.
Der Name (und auch der Typ) einer Resource kann eine positive 16 Bit-Zahl oder ein (Unicode-)String sein.

Doku:
http://msdn.microsoft.com/library/de...urceheader.asp
Schau mal ganz unten bei Remarks.
Ich könnte mir vorstellen, dass nicht jedes Tool, dass mit Resourcen arbeitet, diese Regeln so befolgt/versteht.
Wenn eine Resource einen (Unicode-)String als Identifier besitzt, könnte man das erste Unicode-Zeichen auch
als Ordinalzahl ansehen (wäre aber falsch).


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

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