社区
Windows Server
帖子详情
如何在98启动时让它加载我的DLL以及运行里面的函数??
chengyumao
2001-12-27 12:28:34
是不是要在哪个INI文件中加点什么,但我不大清楚。能不能说说。谢谢。
...全文
68
1
打赏
收藏
如何在98启动时让它加载我的DLL以及运行里面的函数??
是不是要在哪个INI文件中加点什么,但我不大清楚。能不能说说。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
acptw9x
2001-12-27
打赏
举报
回复
感谢您使用微软产品。
要从命令行运行DLL里面的函数,可以使用rundll.exe和rundll32.exe命令。其格式为:
RUNDLL.EXE <dllname>,<entrypoint> <optional arguments>
例如:
RUNDLL32.EXE shell32.dll,Control_RunDLL main.cpl
可以调用shell32.dll里的Control_RunDLL函数,运行结果为弹出鼠标属性。
要在98启动时加载程序,可以在如下注册表键
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
下添加一个字符串值,其名称任取(一般取描述您所启动的程序或功能的词),数据为用来加载的命令行,例如:
"TestPopUp"="C:\WINDOWS\RUNDLL32.EXE shell32.dll,Control_RunDLL main.cpl"
在98启动时加载shell32.dll并以参数main.cpl来运行其中的Control_RunDLL函数。
如果您想了解更多关于rundll和rundll32的信息,请访问:
http://support.microsoft.com/support/kb/articles/q164/7/87.asp
- 微软全球技术中心 Win9x/ME
本帖子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
运行
时
加载
DLL
使用
DLL
有两种方法,一种是
启动时
加载
DLL
,另一种就是
运行
时
加载
DLL
,之前的一篇博文用的就是
启动时
加载
DLL
,现在来看看
运行
时是如何
加载
DLL
的 还是之前的那个项目,只不过添加了两个
函数
(W版本的和A版本的) 这是源文件.cpp# include
# include"标头.h"//
Dll
入口
函数
就是
Dll
Main,
Dll
Main既是入口点,也是出口点 int WINAP
dll
是在何时被
加载
?如何延迟
加载
dll
?
dll
延迟
加载
,
dll
加载
方式
使用run
dll
32.exe
运行
dll
函数
windows操作系统下,exe文件双击即可执行,而
dll
文件则不可以。这样的话在调试
dll
中
函数
的时候就会很不方便,所以可以借助于额外的启动器。当然这个启动器可以自己实现,但是使用操作系统自带的run
dll
32.exe就能满足要求。日常使用的控制面板中的一些功能都是通过run
dll
32.exe来启动的。这样的话,就可以双击run
dll
.bat文件来
运行
dll
中的入口
函数
了。下面通过一个DEMO来介绍run
dll
32.exe的使用方法。可以看到控制台打印的信息。
关于Windows应用程序
加载
DLL
的总结
0x00 背景 最近在开发项目上遇到一个奇怪的问题,项目使用到OPENSSL库,进行加密,某个
DLL
(A.
DLL
)对该库进行封装后调用。EXE对A.
DLL
采用动态链接的方式进行
加载
,调动
里面
的
函数
之后,使用FreeLibrary释放
DLL
。 结果竟然没有卸载掉该
DLL
。这就突破了我的认知了,我的见识
里面
所了解到的
加载
DLL
方式包括两种: 隐式链接:程序
运行
时
DLL
被
加载
进来,等待程序结束之后,卸载
加载
的
DLL
。 动态链接:程序使用LoadLibaray(Ex)等
函数
加载
DLL
,到不需要时主要使用Fre
DLL
的两种
加载
方式——静态
加载
和动态
加载
案例简述 在某项目中,需要使用两个不同版本的HCNetSDK库,我们通常使用的静态
加载
DLL
的方式不能满足该需求,故用到动态
加载
DLL
的方式。 背景技术及术语解释 静态
加载
:也称隐式调用,指在
运行
程序之前由操作系统的
加载
器将
DLL
和EXE一起
加载
到内存里。注意这里与程序的静态链接区别开来,静态链接发生在编译过程之中,而
DLL
的静态
加载
是发生在程序
运行
之前。 动态
加载
:也称显示调用,指应用程序
运行
过程中程序自己完成对
DLL
的
加载
和卸载(
DLL
加载
—
DLL
函数
地址获取—
DLL
释放),应用程序在执行过程...
Windows Server
6,871
社区成员
177,938
社区内容
发帖
与我相关
我的任务
Windows Server
Windows 2016/2012/2008/2003/2000/NT
复制链接
扫一扫
分享
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章