Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Что касается вопроса "Открытие и закрытие привода 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 * * jpstotz@gmx.de * * * ******************************************************************************** * Date last modified: May 22, 1999 * *******************************************************************************) unitDriveTools; 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
.