![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Блокирование сд-рома [D7, WinXP]
Locke © (2006-03-01 21:19:00)Скажите как можно заблокировть открывание сд-рома через дельфи.
нужно сделать так чтобы он открывался только через компьютер заранее спасибо.
eeee (2006-03-08 19:27:00) [1]function LockCD(DriveCD:char; Locked:boolean):Boolean;
const IOCTL_STORAGE_MEDIA_REMOVAL = $002D4804;
var hDrive : THandle;
Returned : DWORD;
DisableEject : boolean;
Drv: string;
begin
result:=False;
Drv:= '\\.\'+DriveCd+':';
hDrive := CreateFile(PChar(Drv), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if GetLastError <> 0 then Exit;
try
DisableEject := Locked;
Result:=DeviceIoControl(hDrive,IOCTL_STORAGE_MEDIA_REMOVAL,
@DisableEject,sizeof(DisableEject),nil,0,Returned,nil);
finally
CloseHandle(hDrive);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
LockCD('F',true);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
LockCD('F',false);
end;
Desdechado (2006-03-07 17:51:00) [2]в корзину такие программы
Locke (2006-03-07 14:16:00) [3]программа,которая будет блокировать открытие сд-рома. и открывать его только с помощью этой проги
EvS (2006-03-03 17:11:00) [4]> [5] Desdechado © (03.03.06 16:45)
>заблокировть через дельфи или открывание через дельфи?
Ясно же написано "нужно сделать так чтобы он открывался только через компьютер"
Только я не понял что это означает.
Desdechado (2006-03-03 16:45:00) [5]> заблокировть открывание сд-рома через дельфи
заблокировть через дельфи или открывание через дельфи?
Nick Denry (2006-03-03 14:49:00) [6]А че не выходит то? :)
Locke (2006-03-03 14:40:00) [7]можно обьяснить поподробнее , а то не выходит че-то
Nick Denry (2006-03-01 23:02:00) [8]Что-то типа этого:
uses mmsystem;
function Door_Lock(Locked: boolean) : boolean;
const IOCTL_STORAGE_MEDIA_REMOVAL = $002D4804;
var hDrive : THandle;
Returned : DWORD;
DisableEject : boolean;
begin
hDrive := CreateFile(PChar('\\.\'+FirstCDName+':'), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if GetLastError <> 0 then
MessageBeep(0);
try
DisableEject := Locked;
if not DeviceIoControl(hDrive,
IOCTL_STORAGE_MEDIA_REMOVAL, // PREVENT_MEDIA_REMOVAL,
@DisableEject,
sizeof(DisableEject),
nil,
0,
Returned,
nil) then MessageBeep(0);
//MessageDlg('Error:'+IntToStr(GetLastError), mtError, [mbOK], 0);
finally
CloseHandle(hDrive);
end;
Result := Locked;
end;
Locke (2006-03-01 23:01:00) [9]ап,помогите плиз!