SHGetFileInfo



Hallo!

Ich möchte wissen, wo ich das Icon zu einem Datei-Typen finde. Eigentlich dachte ich, dass das mit SHGetFileInfo ganz einfach funktionieren sollte. Nur leider bekomme ich das nicht so richtig hin. Kann mir vielleicht jemand auf die Sprünge helfen und mir sagen, was ich hier falsch mache?

int _tmain(void)
{
CoInitialize(NULL);

SHFILEINFO shfi = { 0 };
SHGetFileInfo(TEXT("*.txt"), FILE_ATTRIBUTE_NORMAL,
&shfi, sizeof(shfi),
SHGFI_ICONLOCATION | SHGFI_USEFILEATTRIBUTES);

_tprintf(TEXT("Index: %d\nName: %s\n"),
shfi.iIcon, shfi.szDisplayName);

CoUninitialize();
return 0;
}

Das Problem: Der Index wird immer auf 4 gesetzt, unabhängig des ersten Parameters; alles andere bleibt genullt. Die Rückgabewerte habe ich selbstverständlich überprüft: CoInitialize liefert mir S_OK und SHGetFileInfo kommt mit TRUE zurück.

Schöne Grüße,
René
.