![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Спрятать программу [D5, D6, D7, Win95/98, WinME, WinXP]
TomasMans © (2004-12-24 22:00:00)1. Чтобы открыть (закрыть) Cd - я прописываю:
mciSendString('Set cdaudio door open wait',nil, 0, handle) и
mciSendString('Set cdaudio door closed wait',nil, 0, handle).
А если у меня для примера три привода - CD,CD-RW и DVD.
Строчки будут другими?
2. Как спрятать, а потом восстановить программку в SysTray'е.
Profi (2004-12-25 02:13:00) [1]TomasMans (24.12.04 22:00)
1. Там надо заюзать процедуру, где указывается какой привод открывать - закрывать:
function OpenCD(Drive : Char) : Boolean;
Var
Res : MciError;
OpenParm: TMCI_Open_Parms;
Flags : DWord;
S : String;
DeviceID : Word;
begin
Result:=false;
S:=Drive+':';
Flags:=mci_Open_Type or mci_Open_Element;
With OpenParm do begin
dwCallback := 0;
lpstrDeviceType := 'CDAudio';
lpstrElementName := PChar(S);
end;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Res<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
IF Res=0 Then exit;Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
function CloseCD(Drive : Char) : Boolean;
Var
Res : MciError;
OpenParm: TMCI_Open_Parms;
Flags : DWord;
S : String;
DeviceID : Word;
begin
Result:=false;
S:=Drive+':';
Flags:=mci_Open_Type or mci_Open_Element;
With OpenParm do begin
dwCallback := 0;
lpstrDeviceType := 'CDAudio';
lpstrElementName := PChar(S);
end;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
IF Res<>0 Then exit;
DeviceID:=OpenParm.wDeviceID;
try
Res:=mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
IF Res=0 Then exit;
Result:=True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
2.procedure TfMain.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Exstyle := Params.ExStyle or WS_EX_TOOLWINDOW;
end;
procedure TfMain.FormShow(Sender: TObject);
begin
ShowWindow (Application.Handle, SW_HIDE);
end;
Чтобы восстановить вместо SW_HIDE - SW_SHOW;