我写了一段程序
让Hwnd_Other来得到我想发送命令的窗体句柄,这里都没有问题
可以获得窗体句柄现在我想对这个Hwnd_Other 窗体发送一个模拟空格的命令
应该是
SendMessage Hwnd_Other,WM_KEYDOWN,VK_SPBAR,vbNullString
但是没有任何反映,如果是记事本,应该是在文本区内添加了一个 "空格"
可是什么都没有
我看了一下,这个函数的返回值是 0
不知道函数是否发送命令成功了
问一下大家,这样写对么
如果不对,应该怎么写?
谢谢!!!另:由于不能使用sendkeys函数,请不要回答有关sendkeys的事

解决方案 »

  1.   

    如果是WM_KEYDOWN消息返回0的话,说明已经处理了这个消息。要发送空格,你可以尝试发送WM_CHAR消息。
      

  2.   

    ^_^
    WM_CHAR也尝试过了,可是什么都没有呢
    你看我这样理解对不对
    如果我的软件可以延时,比如5秒好了
    那边执行后,比如我把光标点击到这个页面下的地址栏处
    5秒后,向这个窗体发送一个事件
    (WM_KEYDOWN,WM_CHAR都行,而且就是向这个窗体发,Hwnd_Other的问题不用考虑)
    1、那么是不是,光标所在的地方出现一个空格
    2、还是只是这个窗体接受了空格,而不是这个窗体的地址栏接受了空格
    到底问题1,2那个对呢?
    谢谢!
      

  3.   

    - -b
    那么也就是说,Hwnd_Other获取的句柄应该是这个地址栏的控件句柄?
      

  4.   

    当然要向接收键盘输入的窗体(如EDIT)发CHAR消息。
      

  5.   

    你这么一说我又有点晕了 
     ----------------------------------
    |                form1            |
    |  ------------       ----------  |
    |  |   text1  |      |  text2   | |
    |  ------------       ----------  |
    -----------------------------------
    你看这个窗体,form可以接收A字母按键消息(有按键就有一个msgbox弹出)
    text1和text2是两个文本框
    如果我现在是对form1.hwnd来发送一个A的 按键消息
    分别当
    form1获得焦点
    text1获得焦点
    text2获得焦点
    获得的结果是怎么样呢?
    如果我是对form1.text1.hwnd发送一个A的按键消息
    分别当
    form1获得焦点
    text1获得焦点
    text2获得焦点
    获得的结果是怎么样呢?
    谢谢大家.来讨论一下好了
      

  6.   

    先AttachThreadInput到目标窗体的输入队列,然后再postmessage看看吧,呵呵
      

  7.   

    你要setfoce的阿没焦点不行而且焦点需要在你的控制框内 比如edit里面