在使用Win8及Win10应用会发现,如果设置了网络代理,比如pac或者localhost代理服务器,这时候App就会无法访问网络
原因是这些App都是在沙箱虚拟环境中运行,无法访问localhost。所以无法使用代理。
而事实上系统有为这些App提供设置选项,可以使用CheckNetIsolation.exe来修改。
用法如下:
CheckNetIsolation.exe LoopbackExempt -a -n=microsoft.windowscommunicationsapps_xxxxxxxx
-n 是包名,在"%USERPROFILE%\AppData\Local\Packages"文件夹中获取
如果批量设置的话有些麻烦,所以写了个vbs脚本,代码如下:
a = msgbox("点击 '是' 使所有WindowsApp可以代理访问网络,"& vbcrlf & vbcrlf &"点击 '否' 清除所有WindowsApp代理访问网络权限!",51,"使WindowsApp获取代理权限") if a = 2 then wscript.quit Set ws=WScript.CreateObject("wscript.shell") if a = 6 then w=ws.ExpandEnvironmentStrings("%USERPROFILE%\AppData\Local\Packages") Set fso=WScript.CreateObject("scripting.filesystemobject") Set fs=fso.GetFolder(w) Set f=fs.SubFolders Set ff = fso.createtextfile(ws.ExpandEnvironmentStrings("%TEMP%\WindowsAppProxyAccess.bat")) For Each uu In f ff.WriteLine("CheckNetIsolation.exe LoopbackExempt -a -n=" & uu.name) Next ff.WriteLine("del %0") CreateObject("Shell.Application").ShellExecute ws.ExpandEnvironmentStrings("%TEMP%\WindowsAppProxyAccess.bat"),"","","runas",1 elseif a = 7 then CreateObject("Shell.Application").ShellExecute "CheckNetIsolation.exe","LoopbackExempt -c","","runas",1 end if
保存为.vbs文件运行即可,过程中CheckNetIsolation.exe会索取管理员权限。
时间: 2024-10-10 04:05:26