Ele*_*ios 4 .net c# vb.net visual-studio microsoft-metro
我试图在 .NET Framework Classes 中找到最有效且可能实现的方式来监视驱动器,实际上我知道如何执行此 P/调用、使用结构等......但它有很多代码,我想改进它。
所以我发现了这个有趣的类DeviceWatcher,它似乎只能用于 Metro 应用程序?
我找不到有关该类的太多信息,我想知道是否从 Winforms 中引用了所需的 dll,我可以实例化此类以在 Winforms 中使用它吗?
是的,这是可能的,前提是您在 Win 8 / Win Server 2012 上运行。
Scott Hanselman 有一篇关于如何从桌面应用程序调用 WinRT 方法的好文章。
它的基础是,将以下内容添加到您的项目文件中(卸载它,编辑它,重新加载它):
<PropertyGroup>
<TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
然后添加一个引用 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades\System.Runtime.InteropServices.WindowsRuntime.dll
您还需要通过选项卡下的添加引用对话框添加对Windows.Devices和Windows.Foundation的引用Windows:

完成此操作后,您可以实例化 Watcher 并添加事件处理程序:
DeviceWatcher dw = Windows.Devices.Enumeration.DeviceInformation.CreateWatcher();
dw.Added += dw_Added;
dw.Removed += dw_Removed;
dw.Start();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2853 次 |
| 最近记录: |