Anfängerfragen zum Programmieren mit PureBasic.
-
EmmJott
- Beiträge: 66
- Registriert: 25.10.2024 12:23
Beitrag
von EmmJott »
Guude Morsche!
Habe folgende Fage an Euch: Wie findet man heraus, welchen Namen beispielsweise das Verzeichnis
je nach eingestellter Systemsprache hat. Oder die Namen all der anderen GetUserDirectory(xxx)-Verzeichnisse oder Papierkorb usw. hat?
Zuletzt geändert von
EmmJott am 31.01.2025 15:08, insgesamt 1-mal geändert.
Hauptsache: Niveau! Bin beim Pogrammieren seit Jahrzehnten konstant auf Anfängerniveau!
-
HeX0R
- Beiträge: 3070
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
-
Kontaktdaten:
Beitrag
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
-
EmmJott
- Beiträge: 66
- Registriert: 25.10.2024 12:23
Beitrag
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.
Hauptsache: Niveau! Bin beim Pogrammieren seit Jahrzehnten konstant auf Anfängerniveau!
-
HeX0R
- Beiträge: 3070
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
-
Kontaktdaten:
Beitrag
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
-
mk-soft
- Beiträge: 3902
- Registriert: 24.11.2004 13:12
- Wohnort: Germany
Beitrag
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
-
EmmJott
- Beiträge: 66
- Registriert: 25.10.2024 12:23
Beitrag
von EmmJott »
Wie immer: allerbeste Unterstützung hier im Forum, kann man gar nicht oft genug sagen!
Herzlichen Dank an alle!
Hauptsache: Niveau! Bin beim Pogrammieren seit Jahrzehnten konstant auf Anfängerniveau!