为什么EnumThreadWindows会报错(16分)

  • 主题发起人 主题发起人 sunjunfeng3
  • 开始时间 开始时间
S

sunjunfeng3

Unregistered / Unconfirmed
GUEST, unregistred user!
总是出现Variable required <br>function &nbsp;TForm1.EnumProc(Handle: THandle; Param: Integer): Boolean; &nbsp;stdcall;<br>begin<br> &nbsp;MESSAGEBOX(0,pchar(inttostr(Handle)),'句柄',0);<br>end;<br><br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> &nbsp;Buffer: array[0..1] of Cardinal;<br>begin<br> &nbsp;Buffer[0] := GetCurrentThreadId;<br> &nbsp;Buffer[1] := 0;<br> &nbsp; &nbsp;EnumThreadWindows(GetCurrentThreadID, @EnumProc, Integer(Buffer));//这里出错<br> &nbsp; //Edit1.Text:=inttostr(GetHWNDofProcess(GetCurrentThreadID));<br>end;<br><br>总是出现Variable required
 
定义成这样<br>function EnumProc(hwnd: HWND; lParam: LParam) : Bool; stdcall;<br><br>你使用的是类方法。不能那样写。
 
现在我发现我的问量,只要是使用代回调函数的API都会产生这样的错误,而且都是同一位置,即回调函数位置那里出现相同这样的错误
 
问题已经解决了,顺便再问一下,在回调函数中,如何获得得到主窗口
 
可以访问主窗口的全局变量。
 
可以访问主窗口的全局变量<br>具体该怎么做啊,给个思路行不?
 
后退
顶部