user.dll与user32.dll的区别?

dxbh6 2009-05-21 11:33:14
user.dll与user32.dll的区别?还有kernel.dll与kernel32.dll的区别?
为何调用user32.dll中的函数还要LoadLibrary("user32.dll")?
...全文
421 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavidHsing 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dxbh6 的回复:]
调用kernel32.dll中的函数要不要LoadLibrary("kernel32.dll")?
[/Quote]

直接 GetMoudleHandle 就行了,因为这些是系统核心 API 函数库,
从系统启动到关闭,是一直在内存中的,
千万别乱 free 了
wltg2001 2009-05-22
  • 打赏
  • 举报
回复
user.dll是16位的,在NT架构一统天下的时候几乎就没有用了。如果不想用LIB文件进行隐式调用DLL中的函数,所有的DLL函数都要先用LoadLibrary选加载DLL,然后才能用GetProcAddress取回DLL中的函数地址,并不是只对User32.dll才这样用的,同样的,你也可以不用LoadLibrary来调用User32中的函数,其实很多API都是User32中的,我们并没有用LoadLibrary来调用,而是用LIB库的方式来调用的。
biweilun 2009-05-22
  • 打赏
  • 举报
回复
user.dll早就退出舞台了
jackyjkchen 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhangdou_xjtu 的回复:]
楼上的正解。封装在dll中的函数可以有两种方式调用:

显示调用: 使用LoadLibrary来加载dll到你的进程空间,然后GetProcAddress
隐式调用: 在编译时,指定link相应的lib文件。user32.dll之类的系统核心dll就不用指定了。
[/Quote]

up
service4boc 2009-05-22
  • 打赏
  • 举报
回复
楼上的正解。封装在dll中的函数可以有两种方式调用:

显示调用: 使用LoadLibrary来加载dll到你的进程空间,然后GetProcAddress
隐式调用: 在编译时,指定link相应的lib文件。user32.dll之类的系统核心dll就不用指定了。
WaistCoat18 2009-05-21
  • 打赏
  • 举报
回复
user32.dll、kernel32.dll是操作系统函数。
dxbh6 2009-05-21
  • 打赏
  • 举报
回复
调用kernel32.dll中的函数要不要LoadLibrary("kernel32.dll")?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧