实现这种功能,也就是我在Edit1.text上输入一个字符,就自动传递这个字符写到记事本上,输入第二个,依次传递. 我认为sendmessage应该可以实现,但无从下手. 当然如果在Edit1上删除一个字符 或者 粘贴N个字符,那么也将传递.一个动作 将传递一次.? 是否会太难实现?
解决方案 »
- 关于wps的二次开发问题(宏和图表)附delphi生成并执行excel宏的方法
- 积分放血大放松了!!!
- 紧急求助呀!帮帮忙!
- 一个有趣的智力竞猜题:求“1、2、3、4、5、+、-、*、/”得数22的组合??
- 呼唤高手!如何在D7中使用DirectX(DirectDraw,DirectShow等)
- 一个小问题
- 关于ADO异步操作,clientdataset和dataprovider的问题
- 有什么好的Delphi入门书,请推荐!
- 登录模块设计
- ****支票打印,加大两数字之间的空格问题!!!!
- ORACLE的SQL语法,在delphi 里的ADOqueyr下面里无法正常通过.
- listview中的弹出菜单怎么控制?
begin
with edit1 do
begin
//写文本文件(你应该会的吧)
end;
end;
方法2:使用内存映像文件实现数据共享;
方法3:使用全局原子来实现数据共享
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
vHandle: Integer;
begin
vHandle := FindWindow('Notepad', nil);
if vHandle = 0 then Exit;
vHandle := FindWindowEx(vHandle, 0, 'Edit', nil);
if vHandle = 0 then Exit;
SendMessage(vHandle, WM_CHAR, Ord(Key), 0);
end;
2、回车显示属性编辑器(Object Inspector)
3、切换至事件页(Events)
4、双击OnKeyPress项生成代码
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
beginend;
5、填入上面给出的代码
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
vHandle: Integer;
begin
vHandle := FindWindow('Notepad', nil);
if vHandle = 0 then Exit;
vHandle := FindWindowEx(vHandle, 0, 'Edit', nil);
if vHandle = 0 then Exit;
SendMessage(vHandle, WM_CHAR, Ord(Key), 0);
end;
6、确认激活记事本程序
7、调试运行,在调试程序的Edit1中输入字母观察记事本内容是否发生变化-_-!!!!!!以后记住
procedure TForm1.Button1Click(Sender: TObject);
就是Button1.OnClick事件的代码procedure TForm1.Edit1Change(Sender: TObject);
就是Edit1.OnChange事件的代码这是Delphi自动生成事件代码的规律,不再说明....