递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1852|回复: 5
打印 上一主题 下一主题

[视窗] dll是在什么时机引入的

[复制链接]

1

主题

7

帖子

31

积分

新手上路

Rank: 1

积分
31
跳转到指定楼层
楼主
发表于 2024-4-28 11:24:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lijiqidong 于 2024-4-28 11:33 编辑


如上图所示,信息框使用了MessageBox,方法位于User32.dll中
问题是:User32.dll是在哪里引入的?如果确定想使用的api之前有没有在全局引入过,求大佬给个思路。或者是引入了相关的头文件是在哪里引入的

回复

使用道具 举报

111

主题

612

帖子

2174

积分

金牌会员

Rank: 6Rank: 6

积分
2174
QQ
沙发
发表于 2024-4-28 11:44:42 | 只看该作者
hook            
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

26

主题

1899

帖子

6920

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6920
板凳
发表于 2024-4-28 12:45:37 | 只看该作者
1、火山不管你有没用到,都会默认加载 kernel32、user32、gdi32、advapi32、shell32、ole32、oleaut32、comctl32 等几个dll,加载时机是在程序完成启动之前。
2、如果dll是通过头文件加lib的方式引用,加载时机跟上面一样,缺少dll会直接无法启动程序,所以无法在启动时释放dll文件。
3、通过表格输入的dll命令,如果没有被上面两种加载过,加载时机是在程序启动之后,用户的启动方法之前,所以也无法让用户手动释放文件。
4、用户自己通过代码加载dll并执行dll命令,加载时机由用户控制,可以在加载前释放文件。
回复

使用道具 举报

1

主题

7

帖子

31

积分

新手上路

Rank: 1

积分
31
地板
 楼主| 发表于 2024-4-28 17:54:45 | 只看该作者
Xelloss0618 发表于 2024-4-28 12:45
1、火山不管你有没用到,都会默认加载 kernel32、user32、gdi32、advapi32、shell32、ole32、oleaut32、com ...

RE:火山不管你有没用到,都会默认加载 kernel32、user32、gdi32、advapi32、shell32、ole32、oleaut32、comctl32 等几个dll,加载时机是在程序完成启动之前。

大佬,这部分怎么论证,或者在哪个文件里面可以看到
回复

使用道具 举报

26

主题

1899

帖子

6920

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6920
5#
发表于 2024-4-28 20:27:55 | 只看该作者
lijiqidong 发表于 2024-4-28 17:54
RE:火山不管你有没用到,都会默认加载 kernel32、user32、gdi32、advapi32、shell32、ole32、oleaut32、 ...

在视窗基本类的源码里加载的,封装手册也有提到。
回复

使用道具 举报

1

主题

7

帖子

31

积分

新手上路

Rank: 1

积分
31
6#
 楼主| 发表于 2024-4-28 21:24:24 | 只看该作者
Xelloss0618 发表于 2024-4-28 20:27
在视窗基本类的源码里加载的,封装手册也有提到。

封装手册看到了,但是我把视窗基本类的每个头文件和源文件都找了,没有找到引入的过程【可能我的寻找方式有问题】。
我看了如下信息
头文件:
"libs\\win_base\\vol_base.h"
源文件:
libs\win_base\cpp\vol_assert.cpp
libs\win_base\cpp\vol_classes.cpp
libs\win_base\cpp\vol_functions.cpp
libs\win_base\cpp\vol_time.cpp
libs\win_base\cpp\vol_key.cpp
libs\win_base\cpp\vol_math.cpp
libs\win_base\cpp\vol_mem.cpp
libs\win_base\cpp\vol_mem_pool.cpp
libs\win_base\cpp\vol_muti_thread.cpp
libs\win_base\cpp\vol_stream.cpp
libs\win_base\cpp\vol_string.cpp
libs\win_base\cpp\vol_array.cpp
libs\win_base\cpp\vol_bitmap.cpp
libs\win_base\cpp\vol_com.cpp
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 20:13 , Processed in 0.076655 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表