Veröffentlicht 12. April 200223 j Hallo! Ich habe mit der Funktion "_getdrive()" die Laufwerke meines Computers herausgefunden und in eine versteckte Listbox geschrieben. Jetzt habe ich das Problem, daß ich unterscheiden muss, welches Laufwerk ein Floppy, ein CD-ROM, eine Festplatte oder Netzlaufwerk ist. Kann mir da jemand weiterhelfen? Danke im Vorraus. ----------------------------------------------------------------------------------- Mein Quellcode: char szDirectory[MAX_PATH]; CListBox *pListBox; int drive, curdrive; char szDrive[80]; // Save current drive in the Listbox (IDC_LISTDRIVES). GetCurrentDirectory(sizeof(szDirectory),szDirectory); pListBox = (CListBox*) GetDlgItem(IDC_LISTDRIVES); pListBox->ResetContent(); curdrive = _getdrive(); // If we can switch to the drive, it exists. for( drive = 2; drive <= 26; drive++ ) { if( !_chdrive( drive ) ) { sprintf(szDrive ,"%c:", drive + 'A' - 1 ); pListBox->AddString(szDrive); } } _chdrive( curdrive ); SetCurrentDirectory(szDirectory);
12. April 200223 j Hi, du solltest dir mal die Funktion 'UINT GetDriveType(LPCTSTR lpRootPathName)' näher ansehen.
12. April 200223 j Ich schick Euch mal dahin, wo Ihr hingehört: ~~~ verschoben nach: ---> C++: Compiler, IDEs, APIs ~~~
18. April 200223 j Das Ermitteln der Laufwerke kannst Du auch per API-Call erledigen: Der entsprechende API-Call lautet GetLogicalDriveStrings und gibt Dir einen Zeiger auf eine Liste von null-terminierten Strings wieder, die jeweils einen Laufwerksbuchstaben enthalten. Siehe auch hier: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/filesio_8jhv.asp Den Laufwerktstyp kriegst Du mit Hilfe von GetDriveType (wie schon oben von Eight erwähnt). HTH, Evil
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.