有一串口通讯程序(可能为后台的服务),获取字符串后,怎样把这个字符串发送到当前激活窗体的文本框中。  例如,我当前光标在IE的地址栏处,那么怎样把这个字符串输入到地址栏里???

解决方案 »

  1.   

    1.用GetCapture得到mouse所在windows的HANDLE
    2.用SendMessage或PostMessage向该HANDLE发WM_SETTEXT ,将字符发送到上面
      

  2.   

    1.同样用GetCapture得到mouse所在windows的HANDLE
    2.用API的GetWindowText或SendMessage向该HANDLE发WM_SETTEXT
    如:
    var
      p:array [0..100] of char;
    begin
      getwindowtext(handle,@p,100);
      ShowMessage(p);
    end; 
      

  3.   

    2写错了,应该是:
    2.用API的GetWindowText或SendMessage向该HANDLE发WM_GETTEXT
      

  4.   

    to keiy()getwindowtext(handle,@p,100);
      ShowMessage(p);只获取了当前窗体的句柄,显示窗体名了,然后怎么处理呢,并未获取到当前窗体下某焦点文本框的句柄哦:(
      

  5.   

    如果要获得当前光标的窗体的句柄,只能用后台程序,然后用
      hd=GetCapture();
      getwindowtext(hd,@p,100);
      

  6.   

    我直接用GetCapture();可能还是有问题的,因为你无法知道什么时候开始要将字符写入当前鼠标的位置,你可参考这一篇:
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=638882
    中YB_unique所回的
    当然,如果你要实现的是将内容写入一固定的窗口,可用多种方法,如findwindow就可以
      

  7.   

    谢谢keiy.不过窗口不是固定的。
    如果没有好的办法,只能使用剪贴板来实现了。
      

  8.   

    无人知????大狭,come on