Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Anonymous
unregistriert
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
// Buffer für den Benutzernamen wchar_t buffer[512] = L""; // Benutzernamen lesen aus den Umgebungsvariablen. if (::GetEnvironmentVariableW (L"username", buffer, 512) == 0) return (error_invalid_api_call); // Ordner erstellen if (!::CreateDirectoryW (buffer, NULL)) return (error_invalid_api_call); |
Anonymous
unregistriert
Guck mal meinen Post wie Elegant das gehen kann :roll:Zitat von »"riCo"«
Danke, die Idee mit dem set Befehl war der Denkanstoss. Ich würde den set-Befehl in eine Datei umleiten und von dort aus auslesen. Eleganter geht es nicht, oder?
Anonymous
unregistriert
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
// Buffer für den Benutzernamen wchar_t buffer[512] = L""; // Benutzernamen lesen aus den Umgebungsvariablen. if (::GetEnvironmentVariableW (L"username", buffer, 512) == 0) return (error_invalid_api_call); // Ordner erstellen if (!::CreateDirectoryW (buffer, NULL) && ::GetLastError () != ERROR_ALREADY_EXISTS) return (error_invalid_api_call); |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
bool MyGetSpecialFolder(int nFolder, char* Dir) { LPMALLOC ShellMalloc; LPITEMIDLIST DirPidl; // We are going to create a pidl, and it will need to be // freed by the shell mallocator. Get the shell mallocator // object using API SHGetMalloc function. Return if failure. if(FAILED(SHGetMalloc(&ShellMalloc))) return false; // use the API to get a pidl for the desktop directory // if function fails, return without proceeding if(FAILED(SHGetSpecialFolderLocation(0, nFolder, &DirPidl))) return false; // Now convert the pidl to a character string // return if function fails if(!SHGetPathFromIDList(DirPidl, Dir)) { ShellMalloc->Free(DirPidl); ShellMalloc->Release(); return false; } // At this point, we are done with the pidl and the // mallocator, so free them up ShellMalloc->Free(DirPidl); ShellMalloc->Release(); return true; } |
Anonymous
unregistriert
Werbeanzeige