请问什么是回调函数,它与普通函数的区别在哪儿呀?急急!

hnetyj 2003-08-21 10:58:37
我刚看到HOOK函数中的回调函数,很不理解什么是回调函数,它的意义在哪儿呢?
...全文
50 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kl2000 2003-08-21
  • 打赏
  • 举报
回复
回调涵数就是给系统涵数调用的涵数,由自己定义的。跟普通涵数的区别就是要
符合某种协约; 如下是实例
function Enumwndproc( Hwindow:Hwnd;param: lparam): boolean stdcall ;
var
buffer1,buffer2:Pchar;
//FoundCaption:boolean;
// FoundClname:boolean;
begin
result:=true;
getmem(buffer1,255);
getmem(buffer2,255);
try
if GetWindowText(Hwindow,buffer1,255)>0 then
if pos( PwindowstructInfo(param).caption,strpas(buffer1))>0 then
result := false;

if GetClassName(hwindow,buffer2,255)>0 then
if pos( PwindowstructInfo(param).calname,strpas(buffer2))>0 then
Result := False;

if Result = False then
PwindowstructInfo(param).wndhandle:=Hwindow; //返回查找到的窗口句柄
finally
freemem(buffer1);
freemem(buffer2);
end;

end;

这是调用;
function FindAwindow(caption, clname: string): Thandle;
var
wndInfo:Twindowstruct;
begin
wndInfo.caption:=caption;
wndInfo.calname:=clName;
wndInfo.wndhandle:=0;
EnumWindows(@Enumwndproc,Lparam(@wndInfo));
FindAwindow:=wndInfo.wndhandle;
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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