关于枚举函数EnumWindows的疑惑?(30分)

  • 主题发起人 主题发起人 zfs88
  • 开始时间 开始时间
Z

zfs88

Unregistered / Unconfirmed
GUEST, unregistred user!
API 函数 EnumWindows(lpEnumFunc:TFNWndEnumProc;lParam:LPARAM)<br>中的第二个参数到底起什么作用?<br><br>看相关例子,发现有的定义为一个记录,如:<br>type<br>&nbsp; TFindWindowStruct=record<br>&nbsp; &nbsp; caption:string;<br>&nbsp; &nbsp; classname:string;<br>&nbsp; &nbsp; windowhandle:THandle;<br>&nbsp; end;<br>有的干脆用一个0代替!<br><br>查资料得知:该参数是由应用程序自己定义。但到底怎样定义?是否可以随便定义一个数?<br>它与回调函数之间究竟是什么关系?<br>实在不得而知,有谁能给小弟说个明白?<br>
 
在delphi的帮助里查找 method pointer
 
delphi 5 开发人员指南里有EnumWindows的实例
 
那个是你传进去的参数,可用可不用,看你的情况,就和DELPHI的控件的tag 属性一样
 
为了避免使用全局变量,可以传递一个无类型指针,很多<br>callback函数都如此,一般是一个结构的地址。
 
  懂了,lParam:LPARAM 完全是自己定义的,不定义而随便给个数也可以。但有些情况下必须定义它。<br>  lParam由EnumWindows调用回调函数时传递给回调函数,如:你所要查找的窗口的标题,这样在回调函数中可以作相应处理。<br>yyii_yyii说的很对。<br>
 
多人接受答案了。
 

Similar threads

回复
0
查看
999
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
922
SUNSTONE的Delphi笔记
S
后退
顶部