向其他程序的窗口发送键盘消息(高手新手皆宜)
那是一个只接受键盘输入的窗口,就象记事本或者写字板,只是它屏蔽了剪切板功能,也屏蔽了鼠标拖动和右键,只留下了单击功能。窗口里只有一个文本框和一个退出命令钮。能否用编程模拟键盘输入规定的文字,哪个或者哪些API是干这事儿的?先谢谢了。
(我能够取得它的句柄,也能取得它的窗口标题,并能获得它的进程ID,也不知道这些够不够)
(给出有效代码的100分)
问题点数:20、回复次数:6Top
1 楼lsftest()回复于 2004-05-04 22:08:33 得分 0
http://expert.csdn.net/Expert/topic/2695/2695356.xml?temp=.0847742Top
2 楼sakurako(看晨雾散开,你就是我一生的最爱...)回复于 2004-05-06 08:47:49 得分 20
首先SetFocus(文本框的句柄)是文本框获得焦点
然后
SendKeys "hello,world"
当然,要实现你的功能不只这一种方法Top
3 楼danqe(无雨)回复于 2004-05-06 18:52:24 得分 0
谢谢“最爱”兄,可是我只能获得容纳文本框的窗体的句柄,无论怎么弄都得不到那个该死的文本框的句柄(难道它不是一个文本框?),用SetFocus()时又需要它。现在我能做到的是把这个窗口置于顶层,并让它获得焦点(我能看到光标在一闪一闪地冲我抛媚眼),只等输入文字了。困难有两个,一是获得,怎样才能把它上面显示的内容记录在一个变量里,二是输出,怎样把变量里的内容输出到文本框。
就象金山词霸那样的软件,它能在屏幕上任何位置进行鼠标取词,我为什么就不能取得一个文本框的内容呢?怎么做啊?急死了都快!
做任何事情都不可能只能只有一种方法,现在我也不管什么简便不简便了,只要能实现就行。Top
4 楼lsftest()回复于 2004-05-06 18:57:21 得分 0
你先用spy或myspy之类得工具看看那个是不是真得文本框,如果是,就用下面的方法找句柄:
http://search.csdn.net/expert/topic/51/5104/2003/5/6/1745721.xmlTop
5 楼danqe(无雨)回复于 2004-05-07 12:00:19 得分 0
谢谢楼上的lsftest老兄,我试试看。
Top
6 楼danqe(无雨)回复于 2004-05-08 12:46:14 得分 0
楼上几位大哥,我用SPY++查,在这个窗口下面只有一个子窗体,Captoin是空的(“”),类是TWordPanel,这是个什么东东啊?用SendMessage发送EM_GETLINECOUNT消息得到的结果是0,怎么回事?Top




