Seite 1 von 1

Erledigt: Namen der Verzeichnisse in Landesprache

Verfasst: 29.01.2025 09:14
von EmmJott
Guude Morsche!

Habe folgende Fage an Euch: Wie findet man heraus, welchen Namen beispielsweise das Verzeichnis

Code: Alles auswählen

GetUserDirectory(#PB_Directory_Downloads)
je nach eingestellter Systemsprache hat. Oder die Namen all der anderen GetUserDirectory(xxx)-Verzeichnisse oder Papierkorb usw. hat?

Re: Namen der Verzeichnisse in Landesprache

Verfasst: 29.01.2025 10:19
von HeX0R
Meinst Du sowas?

Code: Alles auswählen

Dir$ = GetUserDirectory(#PB_Directory_Pictures)

FI.SHFILEINFO
If CoInitialize_(0) = #S_OK
	If SHGetFileInfo_(@Dir$, 0, @FI, SizeOf(SHFILEINFO), #SHGFI_DISPLAYNAME)
		Debug PeekS(@FI + OffsetOf(SHFILEINFO\szDisplayName))
	EndIf
	CoUninitialize_()
EndIf

Re: Namen der Verzeichnisse in Landesprache

Verfasst: 30.01.2025 11:31
von EmmJott
Hi,

schwer zu sagen, denn in diesem Beispiel ist CoInitialize_(0) ungleich #S_OK, das

Code: Alles auswählen

If SHGetFileInfo_(@Dir$, 0, @FI, SizeOf(SHFILEINFO), #SHGFI_DISPLAYNAME)
   Debug PeekS(@FI + OffsetOf(SHFILEINFO\szDisplayName))
EndIf
CoUninitialize_()
wird also gar nicht abgearbeitet.

Re: Namen der Verzeichnisse in Landesprache

Verfasst: 30.01.2025 15:13
von HeX0R
Sollte eigentlich nicht so sein, müsste aber auch ohne die beiden Befehle funktionieren.
Hab mich nur an die Vorgaben von M$ gehalten

Re: Namen der Verzeichnisse in Landesprache

Verfasst: 30.01.2025 15:40
von mk-soft
Es kann sein das durch ein anderen Aufruf schon die CO initialisiert ist. Somit kann ein #S_False kommen was auch ok ist

Code: Alles auswählen

Dir$ = GetUserDirectory(#PB_Directory_Pictures)

FI.SHFILEINFO
r1 = CoInitialize_(0)
If r1 = #S_OK Or r1 = #S_FALSE
	If SHGetFileInfo_(@Dir$, 0, @FI, SizeOf(SHFILEINFO), #SHGFI_DISPLAYNAME)
		Debug PeekS(@FI + OffsetOf(SHFILEINFO\szDisplayName))
	EndIf
	CoUninitialize_()
EndIf

Re: Namen der Verzeichnisse in Landesprache

Verfasst: 31.01.2025 15:08
von EmmJott
Wie immer: allerbeste Unterstützung hier im Forum, kann man gar nicht oft genug sagen! :allright:

Herzlichen Dank an alle!