Lokale Partition ermitteln
-
OpenFile mit OF_EXIST
oder etwas umständlicher mit: FindFirstFile
-
Hmmm nein reicht wohl doch nicht...
-
Ok hab ne Lösung die eig sehr einfach ist:
system("echo %systemdrive%);
nur leider geht: char drive=system("echo %systemdrive%); nicht.
Wie bkomm ich das in einen String?
MFG
-
-
Muhi89 schrieb:
nur leider geht: char drive=system("echo %systemdrive%); nicht.
system("echo %systemdrive%>tmp");
FILE *fp = fopen("./tmp");
fscanf(fp,"%s",drive);
fclose(fp);Is etwas umständlich... gibt's sicher auch noch ne WinAPI-Funktion für...
edit: verdammt bin ich blind... sorry

-
oh man...

char cBuf[MAX_PATH]; GetWindowsDirectory(cBuf, sizeof(cBuf));Wenn du dir davon die ersten Zeichen holst hast du das Systemlaufwerk.
-
DWORD dwLogicalDrives, x; TCHAR szRoot[32]; LVITEM item; SHFILEINFO shInfo; item.mask = LVIF_IMAGE | LVIF_TEXT | LVCF_FMT; item.pszText = L""; item.iImage = 0; item.iSubItem = 0; ListView_SetExtendedListViewStyle(GetDlgItem(phDlg[0], IDC_LIST),LVS_EX_SUBITEMIMAGES); HIMAGELIST g_hImageLst = ImageList_Create(16,16,ILC_MASK | ILC_COLOR32, 5, 0); ListView_SetImageList(GetDlgItem(phDlg[0], IDC_LIST), g_hImageLst, LVSIL_SMALL); dwLogicalDrives = GetLogicalDrives(); for(x = 0; x < (sizeof(dwLogicalDrives) * 8); x++) { if(IS_BIT(dwLogicalDrives, x)) { PathBuildRoot(szRoot, x); item.iItem = x; item.iImage = x; SHGetFileInfo(szRoot,FILE_ATTRIBUTE_NORMAL, &shInfo, sizeof(shInfo), SHGFI_USEFILEATTRIBUTES | SHGFI_DISPLAYNAME | SHGFI_TYPENAME | SHGFI_ICON | SHGFI_SMALLICON); ImageList_AddIcon(g_hImageLst, shInfo.hIcon); DestroyIcon(shInfo.hIcon); item.pszText = shInfo.szDisplayName; ListView_InsertItem(GetDlgItem(phDlg[0], IDC_LIST), &item); ListView_SetItemText(GetDlgItem(phDlg[0], IDC_LIST), x, 0, item.pszText); } }kram dir raus was du brauchst

-
Danke für die vielen Antworten!
-
Nur noch ne Frage zu GetWindowsDirectory:
Was ist wenn ich auf beiden Festplatten Windows installiert habe?
Dann kommt doch nur das Verzeichnis in dem das momentan aktive Windows ist oder?MFG
-
Wohl schon - dein Windows weiß ja ggf. nicht einmal was von der anderen Installation...