Открытие и закрытие нескольких приводов CD-ROM
Автор: Vadim Petrov |
Глубокая ночь. Сидит юзер за компом. Вдруг на мониторе белым по черному высвечивается: "Если нажмешь 10 клавиш одновременно, покажу голую бабу". Ну юзер не долго думая продавливает 10 клавиш обоими руками. Тут на мониторе появляется: "Молодец! А если, скатина, отпустишь хоть одну клавишу - все диски форматну!!!" |
Что касается вопроса "Открытие и закрытие привода CD-ROM", то при наличии более одного CD-ROMа в системе, рекомендую воспользоваться следующими функциями:
// ____ _ ______ __ // / __ \_____(_) _____/_ __/___ ____ / /____ // / / / / ___/ / | / / _ \/ / / __ \/ __ \/ / ___/ // / /_/ / / / /| |/ / __/ / / /_/ / /_/ / (__ ) // /_____/_/ /_/ |___/\___/_/ \____/\____/_/____/ // (******************************************************************************* * DriveTools 1.0 * * * * (c) 1999 Jan Peter Stotz * * * ******************************************************************************** * * * If you find bugs, has ideas for missing featurs, feel free to contact me * * [email protected] * * * ******************************************************************************** * Date last modified: May 22, 1999 * *******************************************************************************) unit DriveTools; interface uses Windows, SysUtils, MMSystem; function CloseCD(Drive: Char): Boolean; function OpenCD(Drive: Char): Boolean; implementation 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; end. |
Далее: Открыть CD-ROM »»