[Windows编程] 使用.local 重定向DLL 加载路径

简介:
在调试DLL或COM程序的时候, DLL文件可能会被其他程序占用,而无法被替换。 在WinXP,Vista 上, 可以通过创建.local 文件夹来重定向DLL 的加载路径
步骤(假设你的EXE为MyApp.exe, 要调试的DLL为 MyModule.dll):
1) 在 MyApp.exe 的目录下创建一个 MyApp.exe.local
2) 把你希望加载的 MyModule.dll 复制到 MyApp.exe.local 目录下
3) 运行 MyApp.exe
原来的 E:\Test\MyApp.exe 加载的DLL
ModLoad: 00400000 00432000   MyApp.exe
ModLoad: 7c800000 7c8f4000   C:\windows\system32\kernel32.dll
ModLoad: 77c10000 77c68000   C:\windows\system32\msvcrt.dll
ModLoad: 00440000 00c80000   C:\windows\system32\MyModule.dll
ModLoad: 77dd0000 77e6b000   C:\windows\system32\ADVAPI32.dll
创建.local 文件夹之后,E:\Test\MyApp.exe 加载的DLL
ModLoad: 00400000 00432000   MyApp.exe
ModLoad: 7c800000 7c8f4000   C:\windows\system32\kernel32.dll
ModLoad: 77c10000 77c68000   C:\windows\system32\msvcrt.dll
ModLoad: 00440000 00c80000   E:\Test\MyApp.exe.Local\MyModule.dll
ModLoad: 77dd0000 77e6b000   C:\windows\system32\ADVAPI32.dll
注意: 要打开.local这个功能,需要在注册表设置DevOverrideEnable值,并且重启机器

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]
"DevOverrideEnable"=dword:00000001
 
【小窍门】 可以在命令行输入以下命令来设置注册表:
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" /v DevOverrideEnable /t REG_DWORD /d 1 /f
 
 本文转自 陈本峰 51CTO博客,原文链接:http://blog.51cto.com/wingeek/273929,如需转载请自行联系原作者


相关文章
|
1月前
|
Windows
Windows下对于Qt中带 / 的路径的处理
Windows下对于Qt中带 / 的路径的处理
26 9
|
22天前
|
Linux Windows
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
|
1月前
|
网络协议
windows_server2012搭建iis并配置http重定向 iis转发
windows_server2012搭建iis并配置http重定向 iis转发
73 1
|
1月前
|
Java C++
jni编程(windows+JDK11+clion)
jni编程(windows+JDK11+clion)
22 1
|
1月前
|
资源调度 Windows
Windows系统yarn : 无法加载文件
Windows系统yarn : 无法加载文件
20 0
|
2月前
|
API C++ Windows
windows编程入门_链接错误的配置
windows编程入门_链接错误的配置
31 0
|
2月前
|
Windows
火山中文编程 -- 第一个windows程序
火山中文编程 -- 第一个windows程序
23 0
|
2月前
|
编译器 API Windows
windows编程基础
windows编程基础
27 0
|
2月前
|
Windows
win32编程 -- windows绘图操作
win32编程 -- windows绘图操作
50 0
|
9天前
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。