PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam
VB应该如何写,找不到着方法。请高手
BOOL WINAPI DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
BOOL fRet = TRUE; // 返回值
//通过响应WM_DEVICECHANGE消息得到的设备事件信息结构
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
//对话框消息处理
switch (uMsg)
{
case WM_INITDIALOG:
fRet = TRUE;
break;
//对 WM_DEVICECHANGE 消息进行处理
case WM_DEVICECHANGE:
char szMsg[80]; // 对话框中要表示的字符串
switch (wParam)
{
//当一个设备变得被插入并变得可用时,
//系统会发送广播事件DBT_DEVICEARRIVAL
case DBT_DEVICEARRIVAL:
// 判断CDROM碟片是否已经插入到光驱中
if (lpdb -> dbch_devicetype == DBT_DEVTYP_VOLUME) {
VB应该如何写,找不到着方法。请高手
BOOL WINAPI DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
BOOL fRet = TRUE; // 返回值
//通过响应WM_DEVICECHANGE消息得到的设备事件信息结构
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
//对话框消息处理
switch (uMsg)
{
case WM_INITDIALOG:
fRet = TRUE;
break;
//对 WM_DEVICECHANGE 消息进行处理
case WM_DEVICECHANGE:
char szMsg[80]; // 对话框中要表示的字符串
switch (wParam)
{
//当一个设备变得被插入并变得可用时,
//系统会发送广播事件DBT_DEVICEARRIVAL
case DBT_DEVICEARRIVAL:
// 判断CDROM碟片是否已经插入到光驱中
if (lpdb -> dbch_devicetype == DBT_DEVTYP_VOLUME) {
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
ListBox1.Items.Add("Drive " + FirstDriveFromMask(c.dbcv_unitmask) + ": arrived")
End If
End IfProtected Function FirstDriveFromMask(ByVal Unit As Int32) As Char
Dim Ix As Integer
For Ix = 0 To 25
If Unit And Ix Then Exit For
Unit = Unit >> 1
Next
Return Chr(Ix + Asc("A"))
End Function Unit = Unit >> 1 这个运算怎样转成VB的