我一直在用 c# 开发一个应用程序,我想在插入 USB 大容量存储时进行一些验证。
问题是,在验证过程中,我想从消息队列中取出大容量存储的消息。
一个人告诉我,你不能在 C# 中做到这一点,而只能在 C 中使用汇编语言。
你们能帮我找到一个 C 库,我可以从 C# 中使用它来从操作系统消息队列中提取消息吗?
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case Win32.WM_DEVICECHANGE:
//OnDeviceChange(ref m);
break;
}
base.WndProc(ref m);
}
void OnDeviceChange(ref Message msg)
{
int wParam = (int)msg.WParam;
if (wParam == Win32.DBT_DEVICEARRIVAL)
{
label1.Text = "Arrival";
//MessageBox.Show("" + wParam);
//msg = Message.Create(new IntPtr(),1,new IntPtr(),new IntPtr());
}
else if (wParam == Win32.DBT_DEVICEREMOVECOMPLETE) label1.Text =
"Remove";
}
我已经这样做了,但它只是告诉你发生了什么。
我想关闭消息,以便操作系统不会知道与设备相邻,然后在验证通过时再次打开消息。