C#托盘,无主界面,如何接收USB插入事件?

KevinJHoo 2017-10-09 03:15:25
第一次用C#开发,修改一个小项目,程序为一个托盘程序,没有主界面,如何接收USB插入消息呢????


换了一个思路:
我自己想创建一个隐藏窗口,在Application.Run(new MainForm())中使用了该窗口。此时能接收到USB插入,拔出的事件消息。但这个窗口是不想给用户看到的。我就用了下面方法隐藏。
protected override void SetVisibleCore(bool value)
{
base.SetVisibleCore(false);
}

使用上面此方法后,MainForm的窗口是看不到了。但是,USB事件也收不到了。。。


请问各位C#大神,这种问题如何解决。我在网上找了很久也没有找到。
各位大神大家好,这是我的问题,@大神们
...全文
285 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KevinJHoo 2017-10-17
  • 打赏
  • 举报
回复
纯HIDE不行
KevinJHoo 2017-10-17
  • 打赏
  • 举报
回复
还是用隐藏窗口的方式解决了。
Demons1874 2017-10-10
  • 打赏
  • 举报
回复
Hide()不行吗?
desperaso 2017-10-10
  • 打赏
  • 举报
回复
参考一个usb检测手机的 http://www.cnblogs.com/dotnet-org-cn/p/7553468.html 参考着看吧

//重写WndProc方法监听usb设备插入
protected override void WndProc(ref Message m)
        {
            if (m.Msg == 0x219)
            {
                Debug.WriteLine("WParam:{0} ,LParam:{1},Msg:{2},Result:{3}", m.WParam, m.LParam, m.Msg, m.Result);
                if (m.WParam.ToInt32() == 7)//设备插入或拔出
                {
                    CheckHasAndroidModel();
                    myTimer.Start();
                }
            }
            try
            {
                base.WndProc(ref m);
            }
            catch { }
        }
KevinJHoo 2017-10-09
  • 打赏
  • 举报
回复
自顶,有人看得到不?

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧