我想做这样一个软件.就是通过我的软件用模拟键盘的方法向正在运行的某个软件发送一系列字符.我现在做的就像按键精灵那样,只能向当前程序发送键盘信息.也就得保证接受字符的程序是第一程序,而不能是后台运行的.
哪位高手有方法,请指教.

解决方案 »

  1.   

    没有焦点的程序不会响应键盘消息。
    hook吧
      

  2.   

    没有焦点的程序不会响应键盘消息。
    hook吧
    ??? 这点不是吧,不会响应键盘消息 那是系统不给他发消息,并不代表你 不能给他发啊。你给他发消息 一样处理得好好的,而且可以后台操作。
      

  3.   

    当年就是sendmessage 搞的QQ 宠物挂机,卖得可好了。
      

  4.   

    思路1是:你得 做个键盘钩子,因为你的程序 需要什么时候知道 F3 按下去,当钩到这个键盘消息时 判断焦点是不是那个程序的对话框,如果是,然后在获得 对话框当前焦点控件的 text,由你判断是否需要模拟。思路2是: 权举系统里的所有窗口,看看是否有一个 你的目标程序的目标窗口 存在,如果存在,判断焦点是不是那个程序的对话框,如果是,然后在获得 对话框当前焦点控件的 text,由你判断是否需要模拟。
    思路1 需要个钩子 dll,思路2 需要cpu时间。关于模拟部分,当然是sendmessage 键盘消息了。因为可以不需要焦点 就可以输入。注意模拟只能输入 键盘按键,不能模拟文字(除非你模拟开启输入法)如果你只是 想往目标窗口发送一段文字的话,还是建议用 setwindowtext
      

  5.   

    楼上这位大侠,你说的键盘钩子:没有没类似的小程序或是教程什么的?
    你有你说的"如果你只是 想往目标窗口发送一段文字的话,还是建议用 setwindowtext"我只知道在自己编写程序的时候可以获得控件的指针,然后调用setwindowtext,但不知道你说得向别的程序怎么调用setwindowtext函数?
    谢谢了