急!获得了一个程序的窗口的句柄,却不能修改该窗口内控件的属性,高手来看!(100分)

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

nutian

Unregistered / Unconfirmed
GUEST, unregistred user!
我已经找到了“传神”外挂窗口的句柄,但窗口里面的的控件却不受我控制,比如里面<br>的EDIT控件的标题,butoon按钮等,我不知道我找没找到这些控件的句柄,代码如下,我<br>用这段代码找其他窗口都是可以的!<br>(该外挂窗口的下载地址http://www.chuanshen888.com/software/free0.91.zip)大家实际动手<br>看能不能控制!<br>===========================================<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; h:HWND;//窗口的句柄,我通过postmessage(h,WM_CLOSE,0,0)可以关闭该窗口<br>begin<br>enumchildwindows(h,@enumchildproc,0)<br>end;<br>function enumchildproc(h:hwnd;l:lparam):bool;stdcall;//自定义的回调函數<br>var<br>s,t:array [0..30] of char;<br>begin<br>getclassname(h,@s,30); //在listbox2顯示得到的句柄和類名<br>form1.listbox2.items.add(inttostr(h)+' classname:'+s);<br>GetWindowText(h,@t,30); //得到控件标题<br>form1.memo1.lines.add(StrPas(t));<br>result:=true;<br>end;<br><br>
 
怎么不能修改?说详细一点!!
 
我得到了啊,可以控制<br>你用我的程序试一下:<br>http://blacwet.myrice.com/download/GetWindow.exe
 
to devil_li:<br>&nbsp; &nbsp;你的工具的确可以,不知用的什么函数搜索的子窗口句柄,我要源码研究下!
 
用 spy 或 winsight跟踪!
 
我发现问题不是出在搜索子窗口上,是我搜索的母窗口的句柄不对,我是根据窗口标题<br>穷举来搜索母窗口的,但传神外挂这个窗口没有标题栏,可能标题栏隐藏了,我按<br>ctrl+alt+del,在结束任务窗里查的这个程序的标题,是'FREE0.9',我按照这个标题搜到一<br>个句柄,并且用这个句柄还可以关闭传神外挂窗口,而用上面devil_li的工具才发现传神<br>外挂窗的标题是v0.91,我用我的程序搜索v.91就一切正常了!奇怪啊,<br>问题:1、我搜到的句柄是什么窗口的,为什么他可以用来关闭传神外挂窗口<br>&nbsp; &nbsp; &nbsp; 2、devil_li的程序是用的哪个函数获得窗口句柄的?<br>&nbsp; &nbsp; &nbsp; 3、每个窗口一定有标题吗?隐藏标题栏的窗口的标题如何正确地获得?
 
'FREE0.9'是application.Handle<br>'v0.91'是TForm1.Handle<br><br>你用我程序的“窗口”--得到父窗体可以找到TForm1.Handle和TForm1的Parent: <br>application.Handle<br><br>application的窗口是隐藏的<br>每个窗口一定有标题
 
to devil_li:<br>&nbsp; &nbsp;在隐藏标题的情况下,请问你是用什么方法(函数)获得窗口句柄的?你有那个<br>《窗体属性设计器》的源码吗?
 
《窗体属性设计器》是我写的,当然有源码。<br>我用的WindowFromPoint函数
 
TO DEVIL——LI给我一份源码好吗?SENTIMENT@263.NET
 
获得主窗口句柄后,必须通过查找子窗口获得控件的句柄。<br>得到控件句柄后才能对控件进行操作。
 
to :devil_li<br>可以给我份源码吗?<br>nutian@163.com<br>收到就结束讨论给分了!
 
用 FindWindowEx 足够了!
 
老大,给我一份源码吧 &nbsp;liukun966123@163.com
 
后退
顶部