OK, ich beschreibe nochmals den Weg, den ich gehen würde, ausgehend von der folgenden Struktur des indirekten Ressourcen-Strings (völlig egal ob für Strings, Icons oder sonstwas) - @<Pfad_zur_Datei>,-<ID_der_Ressource>:
- das @ am Anfang entfernen
- Die ID am Ende des Strings extrahieren, also alles vom Ende des Strings bis zum Komma und in einem Integer, DWORD oder so speichern, und anschließend vom String entfernen.
- Nach den beiden obigen Schritten bleibt von dem indirekten Ressourcen-String nur noch der Pfad übrig, nichts weiter, daher kann man den einfach an ExpandEnvironmentStrings übergeben. Mit anderen Worten, aus %SystemRoot%\system32\irgendwas.dll wird C:\Windows\system32\irgendwas.dll (und selbiges gilt für %WinDir%\system32\irgendwas.dll).
Grüße
Dalai