AW: Unit zur Verwendung von SHGetKnownFolderPath
Denke was er damit sagen wollte ist, dass es faktisch keinen Unterschied macht. An beiden Stellen wird die gleiche Funktion mit identischer Signatur und allem drum und dran aus der `ole32.dll` importiert.
|
AW: Unit zur Verwendung von SHGetKnownFolderPath
Zitat:
|
AW: Unit zur Verwendung von SHGetKnownFolderPath
Zitat:
Das hat mal so gar nichts mit Delphi zu tun und gehört hier einfach nicht hin. |
AW: Unit zur Verwendung von SHGetKnownFolderPath
Zitat:
Eigentlich ist das Ganze ja höchst kindisch. Ich weiß nicht, wieso ich mich darauf eingelassen habe, ich mache sowas sonst eigentlich nicht. Aber es würde mir helfen, wenn ihr nicht nur auf mir herumhacken, sondern auch seine Anpatzer abmahnen würdet. So, das war jetzt wieder äußerst kindisch. Aber ich habe mal das Bedürfnis, ehrlich zu sein, auch wenn es sich kindisch anhört. |
AW: Unit zur Verwendung von SHGetKnownFolderPath
Ausgangslage:
Zitat:
Deine Reaktion darauf: Zitat:
...ich hätte ja auch Schreiben können "Weltspartag? WTF? Was geht da wieder im Nimmerland ab...." Das hat nichts mit Delphi am Hut. also obwohl ich nichts weiter schrieb zu Dir bzw Dich betreffend, kommt nun: Zitat:
Jetzt habe ich völlig den Faden verloren. War jetzt "Gar nichts" beleidigend? War der Tipp beleidigend? Sind Deine merkwürdigen nicht-Delphi bezogenen Sätze beleidigend? Ganz ehrlich, mir sind Deine Antworten darauf egal, bitte verkneife Dir darauf zu reagieren, andere Leser könnten wenigstens vom Tipp profitieren, also der WinApi Tipp (da das Delphi betrifft und dies ein Super Forum für eben dieses ist) nicht Dein Weltspartag Zitat. Hier rauch ne Friedenspfeife mit mir und Versuche meine Texte weder falsch zu verstehen noch offtopic (nicht Delphi bezogen) zu Zitieren. Von daher meine Bitte, bleib in Zukunft beim Thema Delphi, wenn Du gewisse Dinge nicht verstehen solltest weil Du noch nicht bereit dazu bist, da kann Dir geholfen werden. Wenn Du die Hilfe als unangebracht empfindest und daraus nur wieder 4/5 Seiten Stänkerei entsteht, darauf habe ich (und wahrscheinlich andere Leser) keine Lust mehr, aber man könnte ja erneut nachfragen wenn man etwas nicht versteht bevor jedes einzelne Wort auf die Waage gelegt wird und merkwürdige Zitate daraus entstehen. |
AW: Unit zur Verwendung von SHGetKnownFolderPath
Es hat ja ein wenig damit zu tun (SHGetKnownFolderPath).
Geht das auch irgendwie andersrum? Ich habe z.B. "C:\Programme" und möchte den wirklichen Ordner ermitteln. Also hier dann "C:\Program Files". Geht das irgendwie? Gruß Micha |
AW: Unit zur Verwendung von SHGetKnownFolderPath
Wie oft muss man euch beide eigentlich noch ermahnen! :evil:
Ich hoffe mit dem letzten Beitrag wird wieder zum Thema zurückgefunden. |
AW: Unit zur Verwendung von SHGetKnownFolderPath
Zitat:
Delphi-Quellcode:
// kann sein das Dein Delphi die zwei Zeilen schon in Windows.pas hat, dann wegmachen.
const FILE_NAME_NORMALIZED = $0; Function GetFinalPathNameByHandleA(hFile: THandle; lpszFilePath: LPSTR; cchFilePath: DWORD; dwFlags: DWORD): DWORD; stdcall; external 'Kernel32.dll'; function _FileGetSymLinkTarget( const APathToLink : string; var ATarget : string ) : boolean; var LinkHandle: THandle; TargetName: array [0..OFS_MAXPATHNAME-1] of AnsiChar; begin ATarget := ''; LinkHandle := CreateFile( PChar(APathToLink), 0, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0); Win32Check(LinkHandle <> INVALID_HANDLE_VALUE); try Result := GetFinalPathNameByHandleA(LinkHandle, @TargetName, OFS_MAXPATHNAME, FILE_NAME_NORMALIZED) > 0; if Result then begin ATarget := TargetName; if Pos( '\\?\UNC\', ATarget ) = 1 then begin Delete( ATarget, 1, 8 ); Insert( '\\', ATarget, 1 ); end else if Pos( '\\?\', ATarget ) = 1 then Delete( ATarget, 1, 4 ); end; finally CloseHandle(LinkHandle); end; end; procedure TForm1.FormCreate(Sender: TObject); var s: String; begin s := ''; _FileGetSymLinkTarget('c:\programme',s); ShowMessage(s); end; Zitat:
Zitat:
|
AW: Unit zur Verwendung von SHGetKnownFolderPath
hihi... habe zeitgleich auch "GetFinalPathNameByHandle" gefunden und was probiert und wollte gleich mal hier nachfragen, ob man sich auf dieses "\\?\" (was mit übergeben wird) verlassen kann?
Aber deine Funktion nehme ich gerne. Dankeschön Was ich auch noch nicht so ganz begreife... mit diesem "A" und "W" bei Funktionen. Also "GetFinalPathNameByHandleA". Es gibt auch "W". Ich glaube A für Ansi und W für WideString? Da muss man wohl je nach aktion/nutzen die richtigen Funktionen wählen? Gerade wegen Dateinamen etc. nutze ich dann z.B. "FindFirstFileW". So ganz bin ich da noch nicht durch (wieso, weshalb, warum) aber bei mir gehen dann schon mal auch chinesische/japanische/russische Dateinamen. Na am Ende muss man das wohl dann alles durchtesten. Gruß Micha |
AW: Unit zur Verwendung von SHGetKnownFolderPath
Zitat:
Ich schreibe mal mein Code für Wide um und teste, meine Windows.pas kennt halt gar keine von denen (Delphi 2019) und Microsoft sagte mir nix von einer W... oder ich habs überlesen, dann sorry! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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