制作QQ消息炸弹(2) Lpsz1:String, //欲搜索的类名,0表示忽略。 Lpsz2:String //欲搜索的类名,0表示忽略。 );2.GetWindow( hWnd:Long, //源窗口。 wCmd:Long //指定结果窗口与源窗口的关系(这里用GW_CHILD)表示寻找源窗口的第一个子窗口。 );3. GetDlgItem( hWnd:Long, //源窗口的句柄。 Int: nIDDlgItem //要在其中查找的窗口的ID号 );其实刚开始找QQ对话窗口时,我先想到的是FindWindow(),这个函数可以直接通过窗口标题名来查找窗体句柄。我是这样找的:var hparent:HWND;hparent:=FindWindow(nil, '发送信息'); //这对2003以前的版本还是很有效的^_^结果却是返回错误。Why?后来仔细一看,发现每次QQ2003的标题都在变:如上图是:冷问梅 - 发送消息,要是你又对一个人发信息就会变成:蓝色的风 – 发送消息(举个例子)。这也许是QQ2003采取的一种安全措施吧!呵呵!你们也许会看见网上针对QQ2003发送消息炸弹的工具有时要是输入对方的昵称的原因。(便于通过昵称得到窗体句柄)。不过有没有更好的方法呢!有!这时就要用到FindWindowEx()了。仔细看一下它的参数,关键是第二个hWnd2——我们可以通过它来多次调用FindWindowEx找到符合条件的子窗口。以下是我的代码:var hparent:HWND; //定义为全局变量。来记录每次调用FindWindowEx()后找到的窗体的句柄。procedure TForm1.FormCreate(Sender: TObject);begin hparent:=0; //初始化,查找桌面所有的顶级窗口开始。end;procedure TForm1.Timer1Timer(Sender: TObject);var hbutton,hbutton1:HWND;begin repeat