Adott meghajtó vezérlése cmiSendString-vel (Delphi)

Adott meghajtó vezérlése cmiSendString-vel (Delphi)
2005-02-01T01:29:45+01:00
2005-11-24T20:07:36+01:00
2022-10-27T21:10:41+02:00
needback
Van az MMSystem osztálynak egy cmiSendString parancsa, amivel tudom vezérelni (egyenlőre csak nyitogatni, csukogatni) a cd-dvd meghajtómat.

A következő parancsot használom:

mciSendString('Set cdaudio door closed wait', nil, 0, handle);

mciSendString('Set cdaudio door open wait', nil, 0, handle);

Eddig szép és jó, de nekem 2 dvd meghajtóm van, és mindíg az elsőt nyitja ki, akárhogy módosítom a szöveget (illetve ha hibás a string, akkor nem csinál semmit).

Kéne az a rész a parancsból, ahol tudom állítani a vezérlendő meghajtót.

Előre is köszi: Needback
Mutasd a teljes hozzászólást!
Hello!

uses MMSystem; //kinyitás 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; //bezárás 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 <> 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;

Paraméter pl F: ;

Robertoq
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd