Aktuellen Laufwerksbuchstaben der App ermitteln

01/09/2008 - 22:34 von Thomas Steinbach | Report spam
Hallo NG,

wie ermittle ich am Besten den Laufwerksbuchstaben
des Laufwerkes aus dem eine Anwendung heraus
gestartet wurde. Also wie macht man das am
elegantesten? Ich habe hier Versuche mit:

snip
DWORD retval = 0;
TCHAR buffer[BUFSIZE] = _TEXT("");
TCHAR * lpPart[BUFSIZE] = {NULL};

retval = GetFullPathName("test.ini", BUFSIZE, buffer, lpPart);

if(retval == 0) {
MessageBox(NULL, "test.ini not found", szTitle,
MB_OK|MB_ICONINFORMATION);
}else{
MessageBox(NULL, buffer, szTitle, MB_OK|MB_ICONINFORMATION);
}
snap
gestartet.

Also aehnlich wie es in der Doku zu GetFullPathName() angegeben ist.
Aber dabei bekomme ich _immer_ einen Pfad zum aktuellen, bzw. zu
dem Verzeichnis aus dem ich meine "app.exe" gestartet habe, heraus... ?
Hinten wird dann noch die "test.ini" angehaengt...

Also auch wenn "test.ini" ueberhaupt nicht existiert? Wieso?

btw: GetCurrentDir() wollte ich nicht nehmen da das ja bei
neueren Systemen nicht mehr funken soll... Aber aus den
"Smart Card Modules" Docs und wie man da einen Buchstaben
ermittelt ist mir irgendwie noch zu hoch...

Ich hoffe hier hat jemand eine nuetzliche Idee oder Tip

Thomas
 

Lesen sie die antworten

#1 Edzard Egberts
02/09/2008 - 10:34 | Warnen spam
Thomas Steinbach schrieb:

wie ermittle ich am Besten den Laufwerksbuchstaben
des Laufwerkes aus dem eine Anwendung heraus
gestartet wurde.

GetFullPathName("test.ini", BUFSIZE, buffer, lpPart);

GetCurrentDir()



Wie wàre es denn noch mit

char Buf[1024];
GetModuleFileName(0, Buf, sizeof(Buf));

Das bestimmt Pfad und Name der Applikation, daraus kann man das Laufwerk
sehr einfach extrahieren.

HTH,

Ed

Ähnliche fragen