Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

Как узнать закрыт или открыт сидюк?   Найти похожие ветки 

 
Kinder   (2003-11-20 16:14) [0]

Как узнать открыт или закрыт конкретный сидюк?


 
Vovan   (2003-11-20 18:19) [1]

Удалено модератором
Примечание: Offtopic


 
DVM ©   (2003-11-20 18:38) [2]

Никак. Тысячу раз тут обсуждалось. В общем (не конкретном случае) никак. У некоторых приводов даже такого контакта нет.


 
Songoku ©   (2003-11-20 19:46) [3]

Есть ... 100 % ... потому что в Windows Media Player жмёшь извлечь (или что то типо этого я точно не помню) то она есть дверца открыта зарывает его а если закрыта от открывает. Вот только у меня не получилось узнать как она это делает!


 
DVM ©   (2003-11-20 19:51) [4]


> Songoku © (20.11.03 19:46) [3]

Обычный флаг-переменная. MediaPlayer легко запутать и он будет неправильно это определять.
Если бы это было, то в XP, да и более ранних версиях Windows в контекстном меню компакт диска в проводнике пункт "Извлечь" наверняка делали бы недоступным при выдвинутом поддоне. Но этого нет.
Есть куча программ, делающих так же как медиаплейер, но на поферку оказывалось, что это флаг, а не спец функция, что потом подтверждалось авторами этих программ при переписке.

Вот.


 
Rouse_ ©   (2003-11-21 09:12) [5]

При запуске программы своей подавай команду на закрытие лотка.
А потом просто лови соответствующие события на открытие и закрытие...

Желаю успехов


 
DVM ©   (2003-11-21 09:19) [6]


> А потом просто лови соответствующие события на открытие
> и закрытие...

это что за события такие, интересно узнать?


 
Rouse_ ©   (2003-11-21 12:38) [7]

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;


Желаю успехов


 
Kinder   (2003-11-21 18:50) [8]

вот на 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;


 
OlegV   (2003-12-02 15:55) [9]


> Rouse

Работает только при наличии диска в устройстве.
Если открыть или закрыть сидюк без диска, WM_DEVICECHANGE не катит.


 
DVM ©   (2003-12-02 18:10) [10]


> Если открыть или закрыть сидюк без диска, WM_DEVICECHANGE
> не катит.

Что я и говорил.



Страницы: 1 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
1-53448
Filat
2004-02-06 13:37
2004.02.17
Color= clGradientActiveCaptionю Как перевести в вид $AABBCC


14-53745
ИМХО
2004-01-29 22:56
2004.02.17
По поводу сайта http://podgoretsky.com/


4-53810
QUSTION
2003-12-12 12:14
2004.02.17
Как отлавить событие активизации какого-либо окна в win2000/XP?


3-53376
AlexandrPolyakov
2004-01-26 09:36
2004.02.17
DataSet и динамический массив данных


6-53686
webpauk
2003-12-15 13:30
2004.02.17
определение OS на компах в сети