Moin zusammen ...
zuerst mal sorry, dass ich eine schon etwas ältere Frage ausgrabe und versuche darauf zu antworten. Bei der Anwendung dieser nützlichen
Unit bin ich nämlich ebenfalls auf dieses Problem gestoßen. Darauf hin habe ich mir mal den entsprechenden SourceCode angesehen und eine Änderung vorgenommen, die das Problem behebt. Per Zufall würde ich mal sagen ... Da ich jedoch glaube, das es das nicht sein kann bitte ich Euch um Eure Meinung dazu.
Folgende Änderung habe ich in der Funktion IsFileDescriptor vorgenommen: (Zeile: 624)
Code:
if dataObj.GetDataHere(FormatDesc, MediumDesc) = S_OK then // vorher: nur GetData
Diese Veränderung bewirkt, dass der darauf folgende try ... finally Block wieder durchlaufen, statt das er über Exit verlassen wird und nun stimmt auch unter Win8.1 der Pfad wieder. Joa, läuft ja könnte man sagen, aber bevor ich hier irgend einen Quatsch mache ... und ggf. sind ja auch noch andere Änderungen notwendig. Die meines Wissens aktuelle
(UNVERÄNDERTE) Version v1.65 der ShellDropper.pas habe ich diesem Beitrag mal mit angehängt.
Danke schon mal für Eure Ideen.