如何实现这个功能,在程序中实现向某个文本框模拟键盘输入字符,比如我不通过键盘输入,而通过程序实现,

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SendMessage(Edit1.Handle,WM_CHAR,65,0);
    end;
      

  2.   

    Keybd_Event(VK_TAB, 0, 0, 0);
    向键盘缓冲区发送字符。
      

  3.   

    方法有很多
    可以通过消息
    单个字符的用1楼方法,字符串可以用
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        SendMessage(Edit1.Handle,WM_SETTEXT,0,longint(pchar('hahahahaha')));
    end;或者通过模拟按键
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        Edit1.SetFocus;
        keybd_event(65,0,KEYEVENTF_EXTENDEDKEY or 0,0);
        keybd_event(65,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
        keybd_event(66,0,KEYEVENTF_EXTENDEDKEY or 0,0);
        keybd_event(66,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
        keybd_event(67,0,KEYEVENTF_EXTENDEDKEY or 0,0);
        keybd_event(67,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
    end;
    这种方法稍嫌笨了些,不过我还是比较喜欢用的,因为设置完焦点就可以发送,嘿嘿