如何实现这个功能,在程序中实现向某个文本框模拟键盘输入字符,比如我不通过键盘输入,而通过程序实现,
解决方案 »
- 如何用WordApplication1和WordDocument1设置word文档安全性?
- 小问一下datetimepicker的问题..情(字错了,强)人进来看看...
- 各位大哥~~求救~~关于软件权限设置的问题
- 关于显视问题
- 这儿有复旦大学的朋友吗 ? 紧急求助 !
- 急问题求教:关于调试
- 那位高手有航空模拟系统的开发经验?能否给小弟指导一下。在线
- 怎样给treeview节点的data赋值和读出data值
- 用TBlobField写Oracle8i的BLOB类型的字段时碰到“致命”的错误!!!
- 各位高手,如何undo在paradox数据库中
- 这样的视图怎么定义!!!!一张表中有多列要用另外一张表中的实际值替换??水园里还是有不少的SQL高手的吧:)
- 如何判断系统分区是否存在
begin
SendMessage(Edit1.Handle,WM_CHAR,65,0);
end;
向键盘缓冲区发送字符。
可以通过消息
单个字符的用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;
这种方法稍嫌笨了些,不过我还是比较喜欢用的,因为设置完焦点就可以发送,嘿嘿