Windows 8 win8 IE10下的SetDllDirection失败?
我的代码是IE的插件,该插件将延迟加载一些DLL。 我已将所有DLL放入文件夹中 C:\users\myUser\Appdata\Roaming 初始化插件时,我将调用win32 APIWindows 8 win8 IE10下的SetDllDirection失败?,windows-8,internet-explorer-10,Windows 8,Internet Explorer 10,我的代码是IE的插件,该插件将延迟加载一些DLL。 我已将所有DLL放入文件夹中 C:\users\myUser\Appdata\Roaming 初始化插件时,我将调用win32 APISetDllDirectory来设置我的DLL目录。然而,在win8和IE10下,加载DLL总是失败。经过我的研究,如果您在C:\Users\myUser\appdata下设置DLL目录,系统将添加额外的路径 例如: SetDllDirectory("C:\Users\myUser\appdata\Roaming
SetDllDirectory
来设置我的DLL目录。然而,在win8和IE10下,加载DLL总是失败。经过我的研究,如果您在C:\Users\myUser\appdata
下设置DLL目录,系统将添加额外的路径
例如:
SetDllDirectory("C:\Users\myUser\appdata\Roaming");
预期的结果是,当我调用GetDllDirectory`时,我将得到如下字符串
C:\Users\myUser\appdata\Roaming
但实际上,GetDllDirectory将返回
C:\Users\myUser\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C:\Users\myUser\appdata\Roaming
我只能在win8和IE10下复制此问题。有什么建议吗?将DLL从任何程序都可以写入的文件夹注入浏览器会带来麻烦。IE中的受保护模式功能结束了这种情况。谢谢你的评论,汉斯。但我发现,如果我事先在Internet选项中选中“允许活动内容在我计算机上的文件中运行”选项卡。SetDllDirectory运行良好。但在IE9和IE8中,该选项也未选中,但SetDllDirection仍然可以很好地工作。在windows 8.1中,您似乎拥有对C:\Users\myUser\Local\Packages\windows\U ie\U ac\U 001的完全访问权限(我在这里只是猜测,因为Microsoft坚持不发布任何有用的信息)。