就教,加载DLL问题 怎么样让一个EXE程序起动时就加载我的DLL,比如我要当Explorer起动时就加载我指定的DLL,该怎么做~~~????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 windows核心编程中有介绍``` 使用隐式链接,则所有的DLL在客户文件加载时都被加载隐式链接即在在源文件中写入像下面这样的声明:extern "C" _declspec(dllimport)int MyFunction() 那个EXE不是你写的是吧?那样你的这个DLL就要作为服务先运行起来了。 不知道把你DLL映射到你的程序的地址空间行吗? 好像在注册表的某个地方写一下就行了(我没看错,DLL也是的,我看的一本书上的那本书记不得了) 如果你是想对所有EXE这样做,那不可能 同意sevencat(seven),对应的表项为HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLS在此添加的链接库将在进入windows时加载,并映射到所有进程的地址空间中。像KERNEL32.DLL一样。需要重启动 首先感谢大家的帮忙~~~~!!!!to : bullfinch(night_fly) :你说的是在NT\2000下的吧,那么我想问一下,98下在哪里呢??????我想让我的DLL通用,to 所有人:分不够我还可以再给~~~~~!!! 98下不能通过注册表来实现。98下有一段共享内存,可以把你的dll映射到哪里。 同意: kingcom_xu(我的刀是杀不了人的) :eunt(小妖) 说的就是HOOK注入吗~~????还有我按照: bullfinch(night_fly) 说的改了HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLS,我的电脑蹦溃了~~~~!!!(我现在在另一台机上上网)请问怎么回事~~~~??? 不是hook,是文件映射.不过别的程序必须知道你的dll的位置才能用你的dll.用hook也是可以的.还有远程线程,不过98不支持~~还有好几种方法,比如:调试api,替换dll文件.....<<windows核心编程>>中不是有介绍,说是有5种方法. 用你的DLL替换原来那个EXE所用的DLL,但你需要知道原DLL的所有函数入口,至少是它要用到的函数入口 去查查<<windows核心编程>> to : qrlvls(怜松) :你说的这种芳法不是很实用~~!!还有更好的么~~~??? comb没有下拉列表 VC++ 双击按钮无法自动跳转到代码 vc6调试怎样监视内存变化 急,运行到GetOverlappedResult()后,无法向下进行 用public, private,protect 分别定义的对象,它们之间有区别吗?区别是什么? To WangK 在SDI中如何增加一个CView类? 滚动条的问题? !!!急救如何使用同一内存区域 急(关于串口):我该如何实现?? 高分求助:为什么我GetModuleHandle("wsock.dll")总是返回0? 急死人的问题啊!!
`
`
隐式链接即在在源文件中写入像下面这样的声明:
extern "C" _declspec(dllimport)int MyFunction()
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLS在此添加的链接库将在进入windows时加载,并映射到所有进程的地址空间中。像KERNEL32.DLL一样。需要重启动
你说的是在NT\2000下的吧,那么我想问一下,98下在哪里呢??????
我想让我的DLL通用,to 所有人:分不够我还可以再给~~~~~!!!
98下有一段共享内存,可以把你的dll映射到哪里。
eunt(小妖) 说的就是HOOK注入吗~~????还有我按照: bullfinch(night_fly) 说的改了HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLS,我的电脑蹦溃了~~~~!!!(我现在在另一台机上上网)
请问怎么回事~~~~???
用hook也是可以的.还有远程线程,不过98不支持~~
还有好几种方法,比如:调试api,替换dll文件.....
<<windows核心编程>>中不是有介绍,说是有5种方法.
你说的这种芳法不是很实用~~!!
还有更好的么~~~???