[英]I cannot find the folder C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\gl on my laptop. How do I add it?
[英]Cannot execute my DLL when copied to Program Files (x86)
我有一个有趣的问题:
我编写的程序使用DLL。 安装后,程序exe和DLL都位于c:\\ Program Files(x86)\\ MyProduct下
通常,加载的DLL是第三方驱动程序 。 出于测试目的,我将其替换为自己的实现。 当我在程序文件文件夹中用自己的第三者DLL覆盖我的程序EXE无法启动DLL时,LoadLibraray返回0,GetLastError返回-529697949。 现在,当我将整个MyProduct文件夹复制到时,假设c:\\ temp并启动程序EXE,则可以加载DLL。
所以我想我的问题与Windows安全性有关。 我的DLL程序和我的版本都是用C ++编写的。 我的用户权限具有管理员访问权限,我是否以管理员身份执行程序似乎并不重要。 有人知道是否有Windows保护机制可能阻止DLL加载吗?
谢谢
更新资料
我认为问题与我的DLL试图写入DLL初始化函数中的执行目录有关。 在“程序文件”目录中执行时,Windows不允许这样做。
是的,我终于开始运行了。 问题是我的DLL试图在DLL初始化期间写入exe文件夹。 Windows似乎检测到此问题,并且LoadLibrary调用失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.