[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,如需转载请自行联系原作者


相关文章
|
20天前
|
XML C# 数据格式
掌握了在Windows平台上查看DLL依赖的方法
掌握了在Windows平台上查看DLL依赖的方法
136 4
|
11天前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
52 13
如何配置Windows主机MPIO多路径访问存储系统
|
2月前
|
网络协议 API Windows
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
|
2月前
|
Windows
[原创]用MASM32编程获取windows类型
[原创]用MASM32编程获取windows类型
|
2月前
|
JavaScript 前端开发 API
MASM32编程通过WMI获取Windows计划任务
MASM32编程通过WMI获取Windows计划任务
|
2月前
|
API Windows
MASM32编程获取Windows当前桌面主题名
MASM32编程获取Windows当前桌面主题名
|
3月前
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
173 0
|
3月前
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
231 0
|
Windows
WINDOWS下获得DLL所在目录的代码
WINDOWS下获得DLL所在目录的代码
143 0
|
Windows
WINDOWS下获得DLL所在目录的代码
WINDOWS下获得DLL所在目录的代码
111 0