| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:关于VC++6.0的函数的小问题
只看楼主 加入收藏
gradual
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-10-19
结帖率:33.33%
收藏
已结贴  问题点数:1 回复次数:3 
关于VC++6.0的函数的小问题
大家好,我想问下各位高人,vc的函数都有什么区别,为什么有的函数需要在前面写些类型等,有的却不用。例如
SetWindowsHookEx(
        WH_KEYBOARD,        // hook type
        KeyboardProc,     // hook procedure
        NULL,    // handle to application instance
        GetCurrentThreadId()   // thread identifier
      );
    KeyboardProc(
        int code,       // hook code
        WPARAM wParam,  // virtual-key code
        LPARAM lParam   // keystroke-message information
);
函数SetWindowsHookEx前面什么也不用写,而函数KeyboardProc前面应该有的LRESULT CALLBACK被删掉后就报错了?
请不吝赐教!
搜索更多相关主题的帖子: procedure thread 
2011-10-19 07:12
quanshaohui
Rank: 1
来 自:江西抚州
等 级:新手上路
帖 子:8
专家分:3
注 册:2011-10-9
收藏
得分:0 
不是很懂
2011-10-19 08:42
sun4742002716
Rank: 2
等 级:论坛游民
帖 子:16
专家分:16
注 册:2008-11-30
收藏
得分:1 
KeyboardProc是回调函数,他是主函数调用的窗口过程函数,窗口类.lpfnWndProc
SetWindowsHookEx是个普通的API函数,在调用时不用声明,因为在微软头文件中已经包含。
无论回调函数还是普通的API函数,定义是必不可少的,无论是声明还是定义(如果没有声明的话,而是直接定义的),类型一定要写。
这个API函数之所以没有写类型,是因为此处它正在被调用。而且在其他头文件中已经声明和定义了。
而这个回调函数此处在使用前应该定义,且就在本程序之内,不用放在头文件中,因此定义或者声明前必须给出类型。
2011-10-19 17:30
gradual
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-10-19
收藏
得分:0 
差不多明白了 多谢!
为什么不把所有的这些函数都放到一个头文件里,用的时候直接用多好,还整这么多麻烦事
2011-10-19 22:08
快速回复:关于VC++6.0的函数的小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011566 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved