可以写一个鼠标hook,在hook中添加getfocus得到其它程序的控件的句柄
然后setwindowtext

解决方案 »

  1.   

    sorry,我没写过hook,具体写一个例子可以吗?
      

  2.   

    请问如何写HOOK?能告诉我吗?我在书上没找到
      

  3.   

    //把c指向的字符数组依次发出去,模拟按键
    //用setwindowtext对有的控件,比如密码窗口,好象不起作用
    //所以采用发消息模拟按键的方法
     for (;*c!='\0';c++ ){
       int i = *c;
       SendMessage(FFirstChild,WM_CHAR,i,NULL);//发送消息,i为ascii码值,比如A为41
     }
      

  4.   

    我用了如何语句,它把窗口的标题改变了,而我要传送一串字符到输入的框内,请问如何修改?procedure TForm1.BitBtn1Click(Sender: TObject);
    var
    HWndNotepad:HWnd;
    begin
    HWndNotepad := Winprocs.FindWindow(nil, '无标题 - 记事本');
    GetFocus;
    SetWindowText(hwndnotepad,'test');
    end;
      

  5.   

    function callback(h:hwnd;lparam:integer):boolean;stdcall;
    var
      buf:array [0..255] of char;
    begin
      GetClassname(h,@buf,256);
      if strpas(buf)='Edit' then
        Sendmessage(h,wm_settext,5,integer(pchar('abcde')));
      result:=false;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
     h:hwnd;
    begin
      h:=findwindow(nil,'未定标题 - 记事本');
      if h>0 then
        enumchildwindows(h,@callback,0);
    end;