sendMessage的返回值为什么才是成功呢?api使用问题,超急!!!

tokimemo 2006-07-08 06:21:05
我写了一段程序
让Hwnd_Other来得到我想发送命令的窗体句柄,这里都没有问题
可以获得窗体句柄

现在我想对这个Hwnd_Other 窗体发送一个模拟空格的命令
应该是
SendMessage Hwnd_Other,WM_KEYDOWN,VK_SPBAR,vbNullString
但是没有任何反映,如果是记事本,应该是在文本区内添加了一个 "空格"
可是什么都没有
我看了一下,这个函数的返回值是 0
不知道函数是否发送命令成功了
问一下大家,这样写对么
如果不对,应该怎么写?
谢谢!!!

另:由于不能使用sendkeys函数,请不要回答有关sendkeys的事
...全文
416 点赞 收藏 9
写回复
9 条回复
VirtualDesktop 2006年07月09日
不需要,找到编辑筐句柄,向该句柄发送消息
回复 点赞
一笑拔剑 2006年07月08日
你要setfoce的阿没焦点不行

而且焦点需要在你的控制框内 比如edit里面
回复 点赞
supergreenbean 2006年07月08日
先AttachThreadInput到目标窗体的输入队列,然后再postmessage看看吧,呵呵
回复 点赞
tokimemo 2006年07月08日
你这么一说我又有点晕了
----------------------------------
| form1 |
| ------------ ---------- |
| | text1 | | text2 | |
| ------------ ---------- |
-----------------------------------
你看这个窗体,form可以接收A字母按键消息(有按键就有一个msgbox弹出)
text1和text2是两个文本框
如果我现在是对form1.hwnd来发送一个A的 按键消息
分别当
form1获得焦点
text1获得焦点
text2获得焦点
获得的结果是怎么样呢?
如果我是对form1.text1.hwnd发送一个A的按键消息
分别当
form1获得焦点
text1获得焦点
text2获得焦点
获得的结果是怎么样呢?
谢谢大家.来讨论一下好了
回复 点赞
province_ 2006年07月08日
当然要向接收键盘输入的窗体(如EDIT)发CHAR消息。
回复 点赞
tokimemo 2006年07月08日
- -b
那么也就是说,Hwnd_Other获取的句柄应该是这个地址栏的控件句柄?
回复 点赞
TechnoFantasy 2006年07月08日
你应该定位到光标所在的编辑框然后发送消息。
回复 点赞
tokimemo 2006年07月08日
^_^
WM_CHAR也尝试过了,可是什么都没有呢
你看我这样理解对不对
如果我的软件可以延时,比如5秒好了
那边执行后,比如我把光标点击到这个页面下的地址栏处
5秒后,向这个窗体发送一个事件
(WM_KEYDOWN,WM_CHAR都行,而且就是向这个窗体发,Hwnd_Other的问题不用考虑)
1、那么是不是,光标所在的地方出现一个空格
2、还是只是这个窗体接受了空格,而不是这个窗体的地址栏接受了空格
到底问题1,2那个对呢?
谢谢!
回复 点赞
TechnoFantasy 2006年07月08日
如果是WM_KEYDOWN消息返回0的话,说明已经处理了这个消息。要发送空格,你可以尝试发送WM_CHAR消息。
回复 点赞
发动态
发帖子
API
创建于2007-09-28

1196

社区成员

2.3w+

社区内容

VB API
社区公告
暂无公告