Windows 8系统下开发App程序,对于.NET程序员来讲,须要从新熟悉下类库。git
关于WinRT,引用一张网上传的不少的结构图:程序员
图1github
针对App的开发,App工做在系统划定的安全沙箱内,因此经过Win32去调用U盘获取数据是不行了。下面来看下在WinRT下如何windows
读取U盘数据。安全
1.Win 8 store app项目打开Package.appxmanifest配置文件app
2.选择Capabilities标签页,勾选Removalbe Storage,也能够在配置文件中的 <Capabilities>节点增长async
<Capability Name="removableStorage" />
3.选择Declarations标签页,增长File Type Associations,File type增长.pdf(这个须要筛选的文件,根据扩展名随意添加),配置文件对应节点,以下:spa
1 <Extensions> 2 <Extension Category="windows.fileTypeAssociation"> 3 <FileTypeAssociation Name="file"> 4 <SupportedFileTypes> 5 <FileType>.pdf</FileType> 6 </SupportedFileTypes> 7 </FileTypeAssociation> 8 </Extension> 9 </Extensions>
4.枚举设备信息code
1 var devs = await DeviceInformation.FindAllAsync(DeviceClass.PortableStorageDevice); 2 foreach (var each in devs) { 3 var removableStorage = StorageDevice.FromId(each.Id); 4 5 if (removableStorage != null) { 6 GetFile(removableStorage); 7 } 8 }
5.获取文件orm
1 async private void GetFile(StorageFolder removableStorage) { 2 var files = await removableStorage.GetFilesAsync(); 3 foreach (var item in files) { 4 data.Add(item.DisplayName); 5 } 6 }
代码:戳