tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
CDの扉が開閉された事を取得する(VB6.0)_1 ( No.1 )  [親スレッドへ]
日時: 2011/04/05 11:21
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[周辺機器][ドライブ][]                                          *
* キーワード:,CD,開閉,イベント,扉を開く,扉を閉じる                      *
***********************************************************************************

SysInfo.OCX を使った方法

【VB6.0用の開設当初の掲示板のログより】

----------------------------------------------------------------------------------
No.5168 Re: CD-ROMドライブ  投稿者:SSK [2002/06/30(日)16:57分]
----------------------------------------------------------------------------------

既に解決とは思いますが、SysInfo.OCX の DeviceRemoveComplete()イベントに、
文書番号: JP163503 の様な処理を追加するとしたら、次の様になると思います。

Private Sub SysInfo1_DeviceRemoveComplete(ByVal DeviceType As Long, _
         ByVal DeviceID As Long, ByVal DeviceName As String, ByVal DeviceData As Long)
    Select Case DeviceType
    Case 2 ' logical volume
        If (DeviceData And &H1&) Then ' change affects media
            Dim strDrive As String
            strDrive = FirstDriveFromMask(DeviceID)
            Debug.Print strDrive & " ドライブから取り出されました。"
        End If
    End Select
End Sub

' ドライブ名のマスクから最初に有効なドライブ名を検索
Private Function FirstDriveFromMask(ByVal unitmask As Long) As String
    Dim i As Long
    For i = 0 To 25
       If (unitmask And &H1&) Then Exit For
       unitmask = unitmask \ 2
    Next i
    FirstDriveFromMask = Chr$(i + Asc("A"))
End Function



 [スレッド一覧へ] [親スレッドへ]