CD-Laufwerk sperren
-
Das hab ich gemacht, aber es passiert trotzdem nichts!!!!
-
also haste das so gemacht:
LockDrive ("F", false);oder so
LockDrive ('F', false);also bei mir klappt es mit der 2. Variante
Mfg Ominion
EDIT: sry war quatsch, er spuckt ja nen error beim compilieren aus, wenn du das nach 1. machst.
-
OT: ich stehe gerade total auf nem schlauch. wie kann ich ein char* in char umwandeln?= mit (char), lpChar[0], wsprintf oder cChar = lpChar[0] geht es nicht.
Mfg Ominion
-
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?
-
Mir fällt grad noch was ein:
Kann man alle Laufwerksbuchstaben der CD-Laufwerke ermitteln?
-
naja, ich habe gerade in den einem topic nen link zu nem tutoril gepostet, da war das glaube ich mit drin, das war wie lerne ich richtig winapi oder so
Mfg Ominion
-
Kannste mir den Link geben?
-
-
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
