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 }
代碼:戳