C# 编程实现检测USB设备插拔

序言:

目前好点的程序,都有usb设备热插拔检测功能。为了适应大环境,同时也为了让自己的exe运行起来更加高大尚,我最近也学到了如何使用C#语言来实现这个功能。本博客分成2个部分。第一个部分是纯C#语言实现usb插拔检测,第二个部分是托管C++(cli)或者说是win32的窗体应用程序中也实现了usb插拔检测。

【备注:使用VS2008开发平台实现的。】

正文:

第一部分:C#语言,Windows窗体应用程序

C# 编程实现检测USB设备插拔_第1张图片

其实很简单,重写窗体Form基类的WndProc()接口,或者说是捕获窗体消息更加好理解些!

protected override void WndProc(ref Message m)
        {
            try
            {
                if (m.WParam.ToInt32() == 7)
                {
                    MessageBox.Show("设备状态发生了变化!");
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            base.WndProc(ref m);
        }

【备注:添加位置,如下截图】

C# 编程实现检测USB设备插拔_第2张图片

第二部分:C++语言,Windows窗体应用程序

C# 编程实现检测USB设备插拔_第3张图片

其实和第一部分类似,不过有区别,直接附上源码:

protected: virtual void WndProc(System::Windows::Forms::Message% m) override 
			 {
				 try
				 {
					 if (m.WParam.ToInt32() == 7)
					 {
						 MessageBox::Show("设备状态发生了变化!");
					 }

				 }
				 catch (Exception ^ex)
				 {
					 MessageBox::Show(ex->Message);
				 }
				 Form::WndProc(m);
			 }

【备注:添加位置,如下截图】

C# 编程实现检测USB设备插拔_第4张图片

寄语:

希望可以帮助到一些和我一样,需要使用到这个功能的网友们,同时也感谢那些无私分享的网友们!

此致

敬礼!

---- The End.

你可能感兴趣的:(C#)