![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать закрыт или открыт сидюк?
Kinder © (2003-11-20 16:14:00)
Как узнать открыт или закрыт конкретный сидюк?
DVM (2003-12-02 18:10:00) [1]
> Если открыть или закрыть сидюк без диска, WM_DEVICECHANGE
> не катит.
Что я и говорил.
OlegV (2003-12-02 15:55:00) [2]
> Rouse
Работает только при наличии диска в устройстве.
Если открыть или закрыть сидюк без диска, WM_DEVICECHANGE не катит.
Kinder (2003-11-21 18:50:00) [3]
вот на torry код нашел
uses mmsystem
...
procedure TForm1.Button1Click(Sender: TObject);
var
s:array[0..64] of char;
error:Cardinal;
text:array[0..255] of char;
begin
error:=mciSendString("open cdaudio alias geraet",nil,0,handle);
if error<>0 then
begin
mciGetErrorString(error,@text,255);
ShowMessage(text);
mciSendString("close geraet",nil,0,handle);
exit;
end;
error:=mciSendString("status geraet mode",@s,sizeof(s),handle);
if error<>0 then
begin
mciGetErrorString(error,@text,255);
ShowMessage(text);
mciSendString("close geraet",nil,0,handle);
exit;
end;
mciSendString("close geraet",nil,0,handle);
ShowMessage("Message: "+s);
end;
Rouse_ (2003-11-21 12:38:00) [4]
procedure CD(var Msg: TMessage); message WM_DEVICECHANGE;
procedure TForm1.CD(var Msg: TMessage);
begin
case Msg.WParam of
32772: Caption := "Open";
32768: Caption := "Close";
else
Caption := "Unknown";
end;
end;
Желаю успехов
DVM (2003-11-21 09:19:00) [5]
> А потом просто лови соответствующие события на открытие
> и закрытие...
это что за события такие, интересно узнать?
Rouse_ (2003-11-21 09:12:00) [6]
При запуске программы своей подавай команду на закрытие лотка.
А потом просто лови соответствующие события на открытие и закрытие...
Желаю успехов
DVM (2003-11-20 19:51:00) [7]
> Songoku © (20.11.03 19:46) [3]
Обычный флаг-переменная. MediaPlayer легко запутать и он будет неправильно это определять.
Если бы это было, то в XP, да и более ранних версиях Windows в контекстном меню компакт диска в проводнике пункт "Извлечь" наверняка делали бы недоступным при выдвинутом поддоне. Но этого нет.
Есть куча программ, делающих так же как медиаплейер, но на поферку оказывалось, что это флаг, а не спец функция, что потом подтверждалось авторами этих программ при переписке.
Вот.
Songoku (2003-11-20 19:46:00) [8]
Есть ... 100 % ... потому что в Windows Media Player жмёшь извлечь (или что то типо этого я точно не помню) то она есть дверца открыта зарывает его а если закрыта от открывает. Вот только у меня не получилось узнать как она это делает!
DVM (2003-11-20 18:38:00) [9]
Никак. Тысячу раз тут обсуждалось. В общем (не конкретном случае) никак. У некоторых приводов даже такого контакта нет.
Vovan (2003-11-20 18:19:00) [10]
Удалено модератором
Примечание: Offtopic