× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Vysouvání mechaniky přes Visual Basic

[ http://programujte.com/profil/27-jiri-chytil/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       22. 6. 2005       14 541×

Něco málo o tom, jak vysunout a zasunout mechaniku. Plus ještě jak zjistit počet mechanick v PC a jejich písmena.

Já osobně znám dvě metody. První metoda je pomocí funkce mciSendString. Je to funkce využívající se například při ovládání multimedií. A umožňuje právě ono otevření mechaniky. Otevírá ale pouze primární mechaniku, tedy tu první. Nejdříve si tuto funkci musíme deklarovat. A potom ji zavolat a dát ji potřebné parametry. Tato funkce má rozdílné parametry pokud ji voláme pro zavření nebo pro otevření mechaniky. Celé to pak může vypadat třeba takto:


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() 'procedura otevření
  mciSendString "Set CDAudio Door Open Wait", _
0&, 0&, 0&
End Sub

Private Sub Command2_Click() 'procedura zavření
  Print mciSendString("Set CDAudio Door Closed Wait", _
0&, 0&, 0&)
End Sub

Druhá metoda je lepší, jelikož si můžeme volit, kterou mechaniku chceme otevřít. A to pomocí externího multimediálního přehrávače WMP. Takže si vlezeme do nabídky komponent a vybereme si WindowsMediaPlayer. Na závěr tedy zdroják.


Private Sub Command1_Click()
  WindowsMediaPlayer1.cdromCollection.Item(0).eject
End Sub

Jak vidíte, není to nic složitého. Tato metoda navíc funguje tak, že pokud je mechanika zavřená, tak ji otevře a pokud je otevřená, tak ji zavře.

Ještě něco. Tady je návod, jak zjistíte počet mechanik.


Print WindowsMediaPlayer1.cdromCollection.Count
Pak můžete otevřít třeba všechny, aniž by vám program hodil chybu a nezapomeňte, že jako index se počítá i nula, ale u počtu mechanik tomu tak není.


Private Sub Command1_Click()
  a = WindowsMediaPlayer1.cdromCollection.Count
  For i = 0 To (a - 1)
    WindowsMediaPlayer1.cdromCollection.Item(i).eject
  Next i
End Sub

Ještě návod jak zjistit, jaké mechaniky jsou v PC:


Private Sub Command1_Click()
  a = WindowsMediaPlayer1.cdromCollection.Count
  For i = 0 To (a - 1)
    WindowsMediaPlayer1.cdromCollection.Item(i).eject
  Next i
End Sub

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2005061502-vysouvani-mechaniky-pres-visual-basic/ ].