Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: CD-ROM Добавлено: 12.01.07 17:06  

Автор вопроса:  Stars
Есть 2 сидюка 1 G:\, 2 H:\
Как можно программно открать дисковод H:\
Pliz!!!

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #1 Добавлено: 12.01.07 17:33
Проблему решил, тема снята.

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 12.01.07 17:38
Из DelphiWorld

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.

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 12.01.07 17:39
Эээх, не успел :)

Ответить

Номер ответа: 4
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 12.01.07 18:32
Как решил? У меня тоже возникал вопрос.

Ответить

Номер ответа: 5
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #5
Добавлено: 12.01.07 18:43
Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString _
As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Command1_Click()
  mciSendString "Set CDAudio Door Open Wait", 0, 0, 0 ' извлеч
End Sub

Private Sub Command2_Click()
  mciSendString "Set CDAudio Door Closed Wait", 0, 0, 0 'засунуть
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 12.01.07 20:17
В упор не вижу в твоем коде указания букв открываемых CD

Ответить

Номер ответа: 7
Автор ответа:
 SyavX



Вопросов: 25
Ответов: 149
 Профиль | | #7 Добавлено: 12.01.07 20:58
sDriveLetter = "G" '"H", etc...

lRetValue = mciSendString("set CDAudio!" & sDriveLetter & ": door closed wait", 0, 0, 0)

lRetValue = mciSendString("set CDAudio!" & sDriveLetter & ": door open wait", 0, 0, 0)

Ответить

Номер ответа: 8
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #8 Добавлено: 12.01.07 23:59
Класный пример! Более простой чем у меня!!! Благодарен SyavX

Ответить

Номер ответа: 9
Автор ответа:
 Lion



ICQ: 367220539 

Вопросов: 13
Ответов: 55
 Web-сайт: lammeru.net
 Профиль | | #9
Добавлено: 15.01.07 09:38
А вот еще.
 Option Explicit

   Public Declare Function mciSendString Lib "winmm.dll" _
                  Alias "mciSendStringA" _
                  ;(ByVal lpstrCommand As String, _
                  ByVal lpstrReturnString As String, _
                  ByVal uReturnLength As Long, _
                  ByVal hwndCallback As Long) As Long

                          'КОД ФОРМЫ'
Call mciSendString("Set CDAudio Door Open Wait", 0&, 0&, 0&;) 'Открыть CD-ROM'

Call mciSendString("Set CDAudio Door Closed Wait", 0&, 0&, 0&;) 'Закрыть CD-ROM'

Ответить

Номер ответа: 10
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #10
Добавлено: 15.01.07 10:49
Lion
Посмотри пост 5.

Ответить

Номер ответа: 11
Автор ответа:
 Lion



ICQ: 367220539 

Вопросов: 13
Ответов: 55
 Web-сайт: lammeru.net
 Профиль | | #11
Добавлено: 15.01.07 14:05
Djon, не заметил я ну что тут поделаешь...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам