Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Спрятать программу [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо