不好意思,再请教各位:问个Delphi中句柄的问题:(0分)

  • 主题发起人 主题发起人 netbug
  • 开始时间 开始时间
N

netbug

Unregistered / Unconfirmed
GUEST, unregistred user!
请看(这是个书上的例子):<br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; &nbsp; Button1: TButton;<br>&nbsp; &nbsp; ListBox1: TListBox;<br>&nbsp; &nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp; &nbsp; end;<br>type<br>&nbsp; Enumwindowsproc=function (Hwnd:THandle;param:pointer):boolean;stdcall;<br>&nbsp; function gettitle(hwnd:THandle;param:pointer):boolean;stdcall;<br><br>var<br>&nbsp; Form1: TForm1;<br>implementation<br>{$R *.DFM}<br>function gettitle(hwnd:THandle;param:pointer):boolean;stdcall;<br>&nbsp;var text:string;<br>begin<br>&nbsp;setlength(text,100);<br>&nbsp;getwindowtext(hwnd,pchar(text),100);<br>&nbsp;form1.ListBox1.Items.Add(inttostr(hwnd)+':'+text);<br>&nbsp;result:=true;<br>end;<br>procedure TForm1.Button1Click(Sender: TObject);<br>&nbsp;var ewproc:enumwindowsproc;<br>begin<br>&nbsp;listbox1.Items.Clear;<br>&nbsp;ewproc:=gettitle;<br>&nbsp;enumwindows(@ewproc,0);<br>end;<br>我想问:<br>一:enumwindows(@ewproc,0)函数中的第二个参数是代表什么?为何可以为0?<br>二: getwindowtext(hwnd,pchar(text),100)函数中的第一个参数句柄此时<br>还未赋值,为什么可以调用?谢谢。
 
1 Windows并没有特别要求该值是什么。<br>2 这是回调函数,值在主程序中。
 
能不能具体指出值在主程序的哪?谢谢.
 
getwindowtext(hwnd,pchar(text),100);<br>hwnd:THandle; 是参数。
 
一:enumwindows(@ewproc,0)函数中的第二个参数是代表什么?为何可以为0?<br>1、gettitle这个函数可能为多个enum所用,param可以指示某些游泳的信息<br>2、gettitle是独立的函数,如果要用到类里面的东西可以用param指示某些游泳的信息<br><br>
 
BOOL EnumWindows(<br>&nbsp; &nbsp; WNDENUMPROC lpEnumFunc, //指定的回调函数<br>&nbsp; &nbsp; LPARAM lParam // 函数定义的值,估计可以不用回传数据,不过这就没用了呀<br>&nbsp; &nbsp;); <br>&nbsp;
 
时间太久,强制结束。 &nbsp; &nbsp; wjiachun<br>
 
后退
顶部