Auf Einwand bzw. Hinweis von Nico wollte ich noch was zum Anhang sagen:
Das Beispielprogramm ist ein Beispiel wie man lieber nicht programmieren sollte. Das liegt an dem Mischmasch von
Ansi- und
Unicode. Die einzige Sache, die richtig funktioniert, ist Nicos "ShellMessageBox". Aber das liegt daran, dass diese Funktion sowohl als
Ansi- als auch als
Unicode-Version exportiert wird.
Beim "Anderes Symbol"-Dialog (PickIconDlg) sieht das schon anders aus. Den Dialog gibt es auch unter 9x, dort allerdings undokumentiert und nur als
Ansi-Version. Den
PSDK-Deklarationen zufolge benutzt der Dialog ab und unter Windows 2000 aber Widestrings (also
Unicode, salopp gesagt). Wenn ich unter XP die AnsiChar-Version nutze, dann erhalte ich die Fehlermeldung, weil der Dateiname nicht erkannt wird (s. Bild im Anhang). Das gleiche mit umgekehrten Vorzeichen passiert unter 98, wenn ich dort die
Unicode-Version ausprobiere.
Wer die Funktionen also tatsächlich in einem Programm verwenden will, der sollte den Weg gehen, den Nico vorgemacht hat, bzw. der sollte beide Varianten laden und
OS-abhängig nutzen. Betrachtet die Demo von mir bitte daher als das was sie ist: als Programm, das unter bestimmten Bedingungen funktioniert aber keinesfalls als produktives Beispiel dienen sollte.
Nico wird´s mir sicher nicht übelnehmen, wenn ich aus seiner PM zitiere:
Zitat:
Es ist für den Standard-User eher besser, den
UNICODE-Schalter zu vermeiden, da er sonst die
ANSI-
RTL mit seinem
Unicode-Code mischt (und zudem fälschlicherweise der Meinung sein könnte, dass es noch auf
Win9x läuft...).
Gruß.