解释一下下面typedef的用法以及语句最终实现的效果,详细分析一下谢谢

typedefBOOL(WINAPI*pfn_FileIconInit)(BOOLfFullInit);pfn_FileIconInitFileIconInit=(pfn... typedef BOOL (WINAPI * pfn_FileIconInit) (BOOL fFullInit);
pfn_FileIconInit FileIconInit = (pfn_FileIconInit) GetProcAddress(LoadLibrary("shell32.dll"), (LPCSTR)660);

FileIconInit(TRUE);
展开
 我来答 举报
王勃啊
推荐于2016-09-09 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5015
采纳率:62%
帮助的人:4095万
展开全部
WINAPI是宏,表示这个函数类型是windows的api。实际上是,windows的api都以__stdcall的方式调用函数。

(BOOL fFullInit) 表示传入一个BOOL类型的参数。

实际上定义了以WINAPI方式调用函数、仅有一个参数是BOOL类型的函数类型:pfn_FileIconInit

而最终的函数指针 FileIconInit 接受了 来自shell32.dll中 ProcedureNumber号为 660的函数。

实际上,660是不容易直接得到的。GetProcAddress的第二个参数是可以直接填函数名的。

这几句代码是在做加载系统图标列表的准备工作
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式