有沒有什麼辦法可以在UWP項目中安裝win32應用程序?(因爲在uwp項目中我無法添加wmi調用和註冊表的參考)。如果是這樣如何實現?獲取已安裝的win32應用程序
1
A
回答
1
古典的win32應用程序可以通過讀取註冊表來獲得在設備上安裝的win32應用程序。但在商店應用程序中,簡而言之,它不能。商店應用運行在獨立的沙箱中,無法讀取系統級註冊表。有關爲什麼商店應用不支持訪問註冊表的詳細原因,請參閱this thread。
但是,如果您不想將應用程序上傳到Windows Store,則可以嘗試使用Brokered Windows Runtime Components進行側裝Windows Store應用程序。從本質上講,它允許您的UWP應用程序調用託管在另一個進程中的Win32 API,該進程在App容器之外運行。
對於VS2015的斡旋WinRT組件模板,您可以下載here。
有關Brokered Windows運行組件的更多詳細信息和示例,請參考this video和this document。
0
有什麼辦法可以在系統中安裝uwp應用程序嗎?我嘗試使用PackageManager類bt它不工作。是否有其他方式?我不想使用powershell。
爲了獲得安裝的商店應用程序,我測試了PackageManager這一類。它工作得很好,據我所知這是獲得安裝商店應用程序的最佳方式。代碼如下:
var packageManager = new PackageManager();
IEnumerable<Windows.ApplicationModel.Package> packages = (IEnumerable<Windows.ApplicationModel.Package>)packageManager.FindPackagesForUser("");
var list = packages.ToList();
注重的是,這些代碼在運行UWP需要packageManagement
限制能力。有關特殊和受限功能的更多細節this。而且你的應用不能上傳到windows商店。
在傳統的Win32項目中使用此代碼只需參考this document中的示例。
相關問題
- 1. 使用NodeJS和Electron獲取已安裝的OS應用程序
- 2. 獲取已安裝的Android應用程序的列表
- 3. 獲取已安裝的Windows應用程序的列表
- 4. 如何獲取已安裝應用程序的設備的deviceid?
- 5. 獲取已安裝應用程序的位置vb.net
- 6. 在系統中獲取已安裝的應用程序
- 7. 獲取已安裝的應用程序數據問題
- 8. 如何獲取Android中已安裝應用程序的列表?
- 9. 獲取已安裝應用程序的列表android
- 10. 獲取可以啓動的已安裝應用程序列表
- 11. 獲取已安裝應用程序列表Windows Mobile(C#託管)
- 12. 獲取已安裝的應用程序圖標的程序列表
- 13. 列出已安裝的應用程序
- 14. 已安裝應用程序的庫存
- 15. 擴展已安裝的應用程序
- 16. 如何獲得已安裝應用程序的進程名稱
- 17. 如何獲得已安裝應用程序的應用程序標籤
- 18. 獲取已安裝的應用程序及其在iOS中的使用情況
- 19. 如何獲取在Android中使用gps的已安裝應用程序列表?
- 20. 如何在Windows中使用Ruby獲取已安裝應用程序的列表?
- 21. 獲取遠程計算機上已安裝程序的列表
- 22. 在安裝程序類中獲取應用程序目錄
- 23. 通過應用程序獲取已安裝的應用程序路徑的正確方法。 C#中的名稱
- 24. 獲取已安裝的Windows應用商店應用列表
- 25. 由於安裝程序文件已損壞,無法安裝應用程序。嘗試從應用程序作者處獲得新的安裝程序文件
- 26. 如何獲取chromebook上已安裝的android應用程序包列表?
- 27. 在android中獲取所有已安裝應用程序的緩存目錄
- 28. 如何在列表中獲取已安裝的應用程序名稱
- 29. 如何從Android手機獲取已安裝應用程序的源文件?
- 30. 獲取黑莓上所有已安裝應用程序的列表
有什麼辦法可以在系統中安裝uwp應用程序嗎?我嘗試使用PackageManager類bt它不工作。是否有其他方式?我不想使用powershell。 – Visnu