SHGetFileInfo und Vista
Nachdem ich mein Problem mit Hilfe der Codelib lösen konnte, hat sich ein neues Problem aufgetan. Und zwar funktioniert die Lösung aus der Codelib scheinbar nicht mehr unter Vista.
Die Frage ist jetzt ob sich die GUIDs geändert haben oder ob die Routinen so nicht mehr unter Vista funktionieren. :gruebel: Weiß da jemand etwas genaueres zu? |
Re: SHGetFileInfo und Vista
Könntest du den äußerst schwammigen Ausdruck "funktioniert nicht mehr" etwas präzisieren?
|
Re: SHGetFileInfo und Vista
Funktioniert nicht mehr bedeutet in dem Fall das keine Werte mehr ermittelt werden.
Kleines Beispiel: Unter Win2003 Server liefert mir der Aufruf von
Delphi-Quellcode:
als Beschreibung "Eigene Dateien".
GetShellDescription('::{450D8FBA-AD25-11D0-98A8-0800361B1103}');
Unter Vista hingegen wird mir keine Beschreibung zurückgegeben. Hoffe ich habe das Problem jetzt besser beschrieben. |
Re: SHGetFileInfo und Vista
Was sagt denn GetlastError nach dem Aufruf?
|
Re: SHGetFileInfo und Vista
GetLastError gibt den Fehler 1410 (Klasse ist bereits vorhanden) aus.
|
Re: SHGetFileInfo und Vista
Direkt nach dem Aufruf von SHGetFileInfo?
|
Re: SHGetFileInfo und Vista
Ja, direkt nach dem Aufruf von SHGetFileInfo. So sieht die Funktion im Moment bei mir aus:
Delphi-Quellcode:
function GetShellDescription(const Name:String):String;
var FileInfo:TSHFileInfo; Flags:Integer; begin showmessage('#' + IntToStr(GetLastError) + ' : ' + SysErrorMessage(GetLastError)); ZeroMemory(@FileInfo, SizeOf(FileInfo)); Flags:=SHGFI_DISPLAYNAME; SHGetFileInfo(PChar(Name), 0, FileInfo, SizeOf(FileInfo), Flags); showmessage('#' + IntToStr(GetLastError) + ' : ' + SysErrorMessage(GetLastError)); Result:=FileInfo.szDisplayName; end; |
Re: SHGetFileInfo und Vista
Dann scheinen sich die ClassIDs geändert zu haben unter Vista.
|
Re: SHGetFileInfo und Vista
Hmm... und wo finde ich die neuen ClassID's? Weil die ClassID für die "Eigenen Dateien" ist in der Registry jedenfalls vorhanden.
|
Re: SHGetFileInfo und Vista
Hat keiner eine Idee wo ich die neuen ClassID's bzw. GUID's finden könnte? Ich hab schon stundenlang gegoogelt bin aber nicht fündig geworden... :(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 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