- 日時: 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
|