如何在Windows 8中的桌面应用程序中访问Metro应用程序的本地存储?

时间:2012-10-30 17:28:05

标签: c# c++ .net windows-8 microsoft-metro

.Net中是否有可用的API?在Windows API中怎么样?如果没有,有没有人想出一些hackish-way来做到这一点呢?

1 个答案:

答案 0 :(得分:3)

查找Windows 8 Style应用程序的本地存储文件夹

http://blog.falafel.com/Blogs/paul-tidwell/2012/08/27/finding-the-local-storage-folder-of-a-windows-8-style-application

Windows 8 Style应用程序的路径如下:

C:\Users\{username}\AppData\Local\Packages\Microsoft.BingSports_8wekyb3d8bbwe

有一个新的Windows API,它使用内部和未公开的算法来创建发布者哈希,当附加到包名称后,它将成为系列名称。姓氏看起来像{packagename}_{publisherhash}

如果您想要其他桌面应用程序或需要在某些应用程序集之间共享,可以通过PowerShell cmdlet调用API,如下所示:

(Get-AppxPackage -AllUsers -Name  $name).PackageFamilyName

将其写入注册表并瞧!您的应用程序可以使用Environment.UserName和上面的路径模式轻松找到您的appx本地存储。