.net 如何在windows XP机器上的windows服务中检测传入的USB设备?
我正在尝试编写一个简单的Windows服务,该服务将检测任何传入的USB设备并启动GUI应用程序.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
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应该用什么吗