南
南宫吹云
Unregistered / Unconfirmed
GUEST, unregistred user!
你尝试过在你的程序中的关于页中实现模拟键盘输入效果吗?如果实现将给你的程序增色
不少。以下是我实现的代码,基本实现了此功能,但还很不完善,请高手指点完善此程序
。谢谢!!
unit Unit1;
interface
uses
; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
; ExtCtrls, StdCtrls, Buttons;
type
; TForm1 = class(TForm)
; ; Timer1: TTimer;
; ; Panel1: TPanel;
; ; Memo1: TMemo;
; ; BitBtn1: TBitBtn;
; ; BitBtn2: TBitBtn;
; ; procedure Timer1Timer(Sender: TObject);
; ; procedure FormCreate(Sender: TObject);
; ; procedure Memo1Enter(Sender: TObject);
; ; procedure Memo1Exit(Sender: TObject);
; private
; ; { Private declarations }
; ; i:integer;
; ; s:string;
; public
; ; { Public declarations }
; end;
var
; Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
; ;inc(i);
; ;if (s=#13) then inc(i);
; ;if i<=length(s) then
; ; ; begin
; ; ; ; ;keybd_event(vkkeyscan(s),oemkeyscan(ord(s)),KEYEVENTF_EXTENDEDKEY,0);
; ; ; end
; ;else timer1.Enabled:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
; ;i:=0;
; ;s:=memo1.lines.text;
; ;memo1.Clear;
end;
procedure TForm1.Memo1Enter(Sender: TObject);
begin
; ;memo1.SelStart:=length(memo1.lines.text);
; ;timer1.Enabled:=true;
end;
procedure TForm1.Memo1Exit(Sender: TObject);
begin
; ;timer1.Enabled:=false;
end;
end.
Form1 上只有一个Memo1控件,且里面有已经输入的内容。现在有两个问题:
1.我的程序只能模拟字符相应的键,不能模拟上档状态。
2.不能模拟中文输入。
请高手帮忙。
不少。以下是我实现的代码,基本实现了此功能,但还很不完善,请高手指点完善此程序
。谢谢!!
unit Unit1;
interface
uses
; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
; ExtCtrls, StdCtrls, Buttons;
type
; TForm1 = class(TForm)
; ; Timer1: TTimer;
; ; Panel1: TPanel;
; ; Memo1: TMemo;
; ; BitBtn1: TBitBtn;
; ; BitBtn2: TBitBtn;
; ; procedure Timer1Timer(Sender: TObject);
; ; procedure FormCreate(Sender: TObject);
; ; procedure Memo1Enter(Sender: TObject);
; ; procedure Memo1Exit(Sender: TObject);
; private
; ; { Private declarations }
; ; i:integer;
; ; s:string;
; public
; ; { Public declarations }
; end;
var
; Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
; ;inc(i);
; ;if (s=#13) then inc(i);
; ;if i<=length(s) then
; ; ; begin
; ; ; ; ;keybd_event(vkkeyscan(s),oemkeyscan(ord(s)),KEYEVENTF_EXTENDEDKEY,0);
; ; ; end
; ;else timer1.Enabled:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
; ;i:=0;
; ;s:=memo1.lines.text;
; ;memo1.Clear;
end;
procedure TForm1.Memo1Enter(Sender: TObject);
begin
; ;memo1.SelStart:=length(memo1.lines.text);
; ;timer1.Enabled:=true;
end;
procedure TForm1.Memo1Exit(Sender: TObject);
begin
; ;timer1.Enabled:=false;
end;
end.
Form1 上只有一个Memo1控件,且里面有已经输入的内容。现在有两个问题:
1.我的程序只能模拟字符相应的键,不能模拟上档状态。
2.不能模拟中文输入。
请高手帮忙。