能力值:
(RANK:10 )
2 楼
好文章~~~~~~顶一下``````````
能力值:
(RANK:10 )
3 楼
问几个问题````````
我做了一个测试,就是关闭所有打开的聊天窗口
HWND hwnd,hwnd1;
hwnd = ::FindWindowEx(NULL,NULL,"#32770",NULL);
while(hwnd != NULL)
{
hwnd1 = ::FindWindowEx(hwnd,NULL,"#32770",NULL);
::SendMessage(hwnd1,WM_CLOSE,0,0);
hwnd = ::GetWindow(hwnd,GW_HWNDNEXT);
}
上面的代码执行成功
为什么下面这样写不行?
HWND hwnd;
hwnd = ::FindWindowEx(NULL,NULL,"#32770",NULL);
while(hwnd != NULL)
{
::SendMessage(hwnd,WM_CLOSE,0,0);
hwnd = ::GetWindow(hwnd,GW_HWNDNEXT);
}
还有,在使用::FindWindowEx(hwnd,NULL,"RICHEDIT",NULL)
得到写消息文本框的句柄后,为什么不能通过SetWindowText()
来设置消息内容,是否QQ做了特殊处理,所以不行?
望解答````````````
能力值:
( LV8,RANK:130 )
4 楼
你同哪个SPY++看看QQ窗口
其实它分为2个大的"#32770"
我估计就算你点击哪个X的时候,是将关闭的信息穿到了里面的哪个"#32770"然后由里面的在关闭外面的哪个"#32770"(当然,这个只是我的估计,)
关于你这个SetWindowText()问题
MSDN里的话就是答案
The SetWindowText function changes the text of the specified window's title bar (if it has one). If the specified window is a control, the text of the control is changed.(注意) However, SetWindowText cannot change the text of a control in another application.
能力值:
(RANK:10 )
5 楼
多谢楼主解答,两个大的是在上和下吗?
这次我注意到了
移动到最下边的时候和最上边句柄是不一样的~~~~~~~~~~~
那还可以用其他API函数来更改内容吗?
能力值:
( LV8,RANK:130 )
6 楼
至于有没有其他的我不太清楚了
以前在做这个发送器的时候还有一个思想就是运用粘贴的技术,也就是模拟键盘输入,事先你可以先复制一段话,然后在哪个编辑窗口中模拟ctrl+v将它粘贴
能力值:
(RANK:10 )
7 楼
这个方法我倒是没想到
谢谢了```````
我把数据粘贴到Clipboard后
使用SendMessage(hRich,WM_PASTE,0,0)
没有成功,希望楼主讲解````
能力值:
(RANK:10 )
8 楼
能力值:
( LV8,RANK:130 )
9 楼
这个我没试过
但是我要说的是先要激活哪个控件
另外这个WM_PASTE消息好象只对edit和combox的控件有用,其它的就不行了
能力值:
(RANK:10 )
10 楼
最初由 红火蚁 发布 这个我没试过 但是我要说的是先要激活哪个控件 另外这个WM_PASTE消息好象只对edit和combox的控件有用,其它的就不行了
但是我要说的是先要激活哪个控件
这句话没看懂````什么意思````
能力值:
( LV8,RANK:130 )
11 楼
呵呵
这个是说
你在给一个控件,如EDIT上粘贴东西时你先要确保这个控件是当前最前面的active控件
以前做过许多这样的事
有时他可能虽然具有哪个光标(就是输入时哪个一闪一闪的|)
但它不是最前面的active窗口或控件
那给它粘贴东西就不行,回失败的
懂了吗?
能力值:
(RANK:10 )
12 楼
I see...