Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在windows XP机器上的windows服务中检测传入的USB设备?_.net_C# 4.0_Windows Services_Windows Xp - Fatal编程技术网

.net 如何在windows XP机器上的windows服务中检测传入的USB设备?

.net 如何在windows XP机器上的windows服务中检测传入的USB设备?,.net,c#-4.0,windows-services,windows-xp,.net,C# 4.0,Windows Services,Windows Xp,我正在尝试编写一个简单的Windows服务,该服务将检测任何传入的USB设备并启动GUI应用程序 WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2"); watcher.EventArrived += watcher_EventArrived; watcher.Query = q

我正在尝试编写一个简单的Windows服务,该服务将检测任何传入的USB设备并启动GUI应用程序

            WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2");
            watcher.EventArrived += watcher_EventArrived;
            watcher.Query = query;
            watcher.Start();
            watcher.WaitForNextEvent();
此解决方案在Win7中运行良好,但在XP中失败(我有XP SP3)

我在这里找到了另一个解决方案

这在windows窗体应用程序中工作得很好,即使在windows XP上也是如此,但是当我在Win 7上使用它时,它会失败

你能帮忙吗

编辑1: 目前,当我们将代码放入windows服务时,没有一个解决方案可以在win XP上运行

问候


Bharat

您可以简单地使用这两种解决方案,然后根据所使用的Windows版本使用相应的解决方案

使用
System.Environment.OSVersion
属性告诉您使用的是哪个版本的windows,然后执行CodeProject解决方案(如果它早于windows 7),如果它是windows 7或更高版本,则执行另一个解决方案


您可以阅读更多有关
System.Environment.OSVersion
属性返回给您的信息。

您可以简单地使用这两种解决方案,然后根据所使用的Windows版本使用相应的解决方案

使用
System.Environment.OSVersion
属性告诉您使用的是哪个版本的windows,然后执行CodeProject解决方案(如果它早于windows 7),如果它是windows 7或更高版本,则执行另一个解决方案


您可以阅读更多有关
System.Environment.OSVersion
属性返回给您的信息。

感谢Martin的快速回答。然而,对于WinXP,目前没有任何效果。你能帮我解释一下我该用什么吗谢谢你马丁的快速回答。然而,对于WinXP,目前没有任何效果。你能告诉我XP应该用什么吗