Einzelnen Beitrag anzeigen

Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#18

Re: Floppy schreibschutz an oder aus?

  Alt 5. Okt 2006, 14:15
Zitat von Go2EITS:
Ja ich auch. Aber bei mir geht es nicht.
Das mag ja sein - aber dann zu behaupten der code würde nicht gehen finde ich etwas dreist

Zitat:
Du hast einen Bug drin, wie ich sehe, das zum Thema generalisieren, (wie ich erst das hasse: )
Ich nicht... der code ist ja nicht von mir!
Außerdem wäre ich mit der Bezeichnung "Fehler" vorsichtig - bei mir funktioniert der Code ja wunderbar

Zitat:
Na, dann bleibt nur noch am Schluss diese Threads den richtigen Code zu veröffentlichen, damit niemand so rumstoppselt wie ich. Ich habe den Code mal getestet und hier geschrieben. Das ist doch wohl ok?
Und mit der Bezeichnung "richtig" wäre ich aus obigem Grund auch vorsichtig. Man könnte sich das ganze natürlich irgendwie erleichtern indem man einen char als Parameter übergibt und nicht einen Integer - wieso das so ist leuchtet mir nämlich im Moment nicht ganz ein

Delphi-Quellcode:
function IDW(Drive: TChar): Boolean;
const
  IOCTL_DISK_IS_WRITABLE = ( ($00000007 shl 16) or (0 shl 14) or ($0009 shl 2) or 0);
var
  Device: String;
  hFile: THandle;
  BytesReturned: Cardinal;
begin
  Result := false;
  Device := Format('\\.\%s:', [Drive]);
  hFile := CreateFile(@Device[1], GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil,
                      OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  if hFile <> 0 then
  begin
    Result := DeviceIoControl(hFile, IOCTL_DISK_IS_WRITABLE, nil, 0, nil, 0,
                              BytesReturned, nil);
    CloseHandle(hFile);
  end;
end;

Result := IDW('A');
  Mit Zitat antworten Zitat