CD-Laufwerk sperren
-
Danke.

-
Und was ist, wenn CD-Laufwerke keinen Laufwerksbuchstaben haben, sondern in irgendein NTFS-Verzeichnis gemountet wurden?
-
Na dann musst du dir was einfallen lassen

Mfg Ominion
-
Das Tutorial ist recht gut, Ominion
Und ich hab auch das mit den laufwerken gefunden.
Aber das hilft mir irgendwie nicht. Haste noch ne andere Idee?
-
leider nicht. ich habe dazu nur was für visual basic gefunden.
Mfg Ominion
-
tsp schrieb:
Hey Ominion,
deine Fkt. klappt doch, war wohl mein Fehler.
Aber ich wüsste gern mal, warum die ModifyDriveLock nict funzt.
Ich habe es getestet: Die ModifyDriveLock gibt immer false zurück. Warum?Sry, hatte noch keine Zeit zu schreiben, hier liegt der Fehler:
TCHAR szAddress[] = { TEXT('\\'), TEXT('\\'), TEXT('.'), TEXT('\\'), chDriveID, TEXT(':') };Ein C-String muss immer mit einem \0 enden. Das habe ich hier übersehen, wegen der Zuweisung über die einzelnen Elemente.
Hier die korrigierte Fassung:
// Parameter: chDriveID > Laufwerkbuchstaben, fLock > true/false, lock/unlock // Return-Wert: true > Aufruf erfolgreich, false > Aufruf fehlerhaft bool ModifyDriveLock(TCHAR chDriveID, bool fLock) { TCHAR szAddress[] = { TEXT('\\'), TEXT('\\'), TEXT('.'), TEXT('\\'), chDriveID, TEXT(':'), TEXT('\0') }; HANDLE hDevice = CreateFile(szAddress, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL); if(hDevice == INVALID_HANDLE_VALUE) return (false); DWORD dwBytesReturned = 0L; PREVENT_MEDIA_REMOVAL pmr = { fLock }; bool fSuccess = static_cast<bool>(DeviceIoControl(hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, &pmr, sizeof(pmr), NULL, 0, &dwBytesReturned, NULL)); CloseHandle (hDevice); return (fSuccess); }
-
-
Ich krieg mein Laufwerk nicht mehr auf!! Helft mir!!!
LOOL das kommt davon

-
löl, das war (wie meiner auch) jetzt nicht der inhalts- und hilfsreichste beitrag^^
Mfg Ominion
-
Joah ich weis, konnte es mir aber nicht verkneifen ^^ Ne, jetzt aber Schluss sry
