|
发表于 2014-6-20 09:21:56
|
显示全部楼层
ring3下实现。。。。。检测U盘插入的函数
///// 检测U盘插入c#代码
///// </summary>
//public const int WM_DEVICECHANGE = 0x219;
//public const int DBT_DEVICEARRIVAL = 0x8000;
//public const int DBT_CONFIGCHANGECANCELED = 0x0019;
//public const int DBT_CONFIGCHANGED = 0x0018;
//public const int DBT_CUSTOMEVENT = 0x8006;
//public const int DBT_DEVICEQUERYREMOVE = 0x8001;
//public const int DBT_DEVICEQUERYREMOVEFAILED = 0x8002;
//public const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
//public const int DBT_DEVICEREMOVEPENDING = 0x8003;
//public const int DBT_DEVICETYPESPECIFIC = 0x8005;
//public const int DBT_DEVNODES_CHANGED = 0x0007;
//public const int DBT_QUERYCHANGECONFIG = 0x0017;
//public const int DBT_USERDEFINED = 0xFFFF;
//protected override void WndProc(ref Message m)
//{
// try
// {
// if (m.Msg == WM_DEVICECHANGE)
// {
// switch (m.WParam.ToInt32())
// {
// case WM_DEVICECHANGE:
// break;
// case DBT_DEVICEARRIVAL://U盘插入
// DriveInfo[] s = DriveInfo.GetDrives();
// foreach (DriveInfo drive in s)
// {
// if (drive.DriveType == DriveType.Removable)
// {
// Upath = drive.Name.ToString();
// string folderpath = Upath + @"\taxbase";
// if (!Directory.Exists(folderpath))
// {
// Directory.CreateDirectory(folderpath);
// }
// string path = Upath + @"\taxbase\" + LoginUserInfo.LoginUser.Com_code + @".db";
// if (File.Exists(path))
// {
// MessageBox.Show("检测到U盘插入,可以更新数据!");
// }
// break;
// }
// }
// break;
// case DBT_CONFIGCHANGECANCELED:
// break;
// case DBT_CONFIGCHANGED:
// break;
// case DBT_CUSTOMEVENT:
// break;
// case DBT_DEVICEQUERYREMOVE:
// break;
// case DBT_DEVICEQUERYREMOVEFAILED:
// break;
// case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
// break;
// case DBT_DEVICEREMOVEPENDING:
// break;
// case DBT_DEVICETYPESPECIFIC:
// break;
// case DBT_DEVNODES_CHANGED:
// break;
// case DBT_QUERYCHANGECONFIG:
// break;
// case DBT_USERDEFINED:
// break;
// default:
// break;
// }
// }
// }
// catch (Exception ex)
// {
// MessageBox.Show(ex.Message);
// }
// base.WndProc(ref m);
//}
至于访问控制,。。。。可以用HOOK API 实现。。。HOOK CreateFile试试。。 |
|