![]() |
Re: CDLaufwerks-Schublade sperren
Seit wann leitet Plastik Strom? :gruebel: Oder Luckie hat soebend die Metalldiskette eingeführt :roll:
|
Re: CDLaufwerks-Schublade sperren
Na ja, bei 10000 Volt leitet auch Plastik - es schmilzt, aber es leitet.
|
Re: CDLaufwerks-Schublade sperren
Was für PC's habt ihr denn in der Schule? :zwinker: Aber lass wir das wird ja sonst noch mehr OT!
|
Re: CDLaufwerks-Schublade sperren
wenn ich ma so fragen dürfte, warum ist deine funktion eigentlich ne funktion wenn du keinen wert zurückgibst? des ganze müsste (wenn ich mich nich irre :stupid:) so aussehen:
Delphi-Quellcode:
function LockMedia(ADriveLetter: Char; ALock: Boolean): Boolean;
var LWStatus: HWND; LTemp: Cardinal; LPMR32: Boolean; const FSCTL_LOCK_VOLUME = $2D4804; begin LwStatus := CreateFile(PChar('\\.\'+ADriveLetter+':'),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,0,0); LPMR32 := ALock; if LwStatus <> INVALID_HANDLE_VALUE then begin Result := DeviceIoControl(LwStatus,FSCTL_LOCK_VOLUME,@LPMR32,SizeOf(LPMR32),nil,0,LTemp,nil); CloseHandle(LwStatus); end else Result := False; end; |
Re: CDLaufwerks-Schublade sperren
Probiers doch mal mit der Bass.dll und der Bass_CD.dll von
![]() und dann BASS_CD_Door(drive,action); drive:integer; 0=CD-Laufwerk 1, 1= CD-Laufwerk 2 usw... action: eins der Folgenden: BASS_CD_DOOR_CLOSE; BASS_CD_DOOR_OPEN; BASS_CD_DOOR_LOCK; BASS_CD_DOOR_UNLOCK. Ist eigentlich selbsterklärend; du musst halt die basscd.dll mit deinem Programm weitergeben... |
Re: CDLaufwerks-Schublade sperren
ups, hab ich wohl vergessen beim umbauen in eine funktion ein result zu setzen.
@Ultimator: Wenn ich einfach nur das Laufwerk sperren will find ichs bissl overkill eine DLL mitliefern zu müssen. $2D4804 ist eine Konstante die im VB Code wie folgt definiert war Zitat:
|
Re: CDLaufwerks-Schublade sperren
Nun ja. Ic finde das Benennen von Konstanten immer sinnvoll. Dann sieht man auf den ersten Blick, was da passiert.
|
Re: CDLaufwerks-Schublade sperren
Stimmt auch wieder... habs jetzt in meinem Source die vorschläge einfließen lassen. Sieht jetzt also so aus (wurde glaub ich sogar schon von jemandem so gepostet nur mit anderem Konstantennamen)
Delphi-Quellcode:
function LockMedia(ADriveLetter: Char; ALock: Boolean): Boolean;
var LWStatus: Hwnd; LTemp: Cardinal; LPMR32: Boolean; Const IOCTL_STORAGE_MEDIA_REMOVAL = $2D4804; begin LwStatus := CreateFile(PChar('\\.\' + ADriveLetter + ':'),GENERIC_READ Or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); LPMR32 := ALock; If LwStatus <> INVALID_HANDLE_VALUE Then begin result := DeviceIoControl(LwStatus, IOCTL_STORAGE_MEDIA_REMOVAL, @LPMR32, sizeof(LPMR32), nil, 0, LTemp, nil); CloseHandle(LwStatus); end else result := False; end; |
Re: CDLaufwerks-Schublade sperren
Hi
CD-Rom Öffnen und Schließen! funzt in WinXP
Code:
const
IOCTL_STORAGE_EJECT_MEDIA = 2967560; IOCTL_STORAGE_LOAD_MEDIA = $2D480C; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz