演示了PostMessage, SendMessage, WM_CHAR发送汉字。
源代码:
-------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
p rivate
{ P rivate declarations }
public
constructor Create(AOwner: TComponent); override;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$APPTYPE CONSOLE}
var
hNotePad:HWND;
hedit:HWND;
constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
Memo1.Text:='这是猪悟能的postmessage测试';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
hNotePad:=FindWindow('Notepad','无标题 - 记事本');
if hNotePad<>0 then
begin
hedit:=FindWindowEx(hNotePad,0,'edit',nil);
PostMessage(hedit,WM_CHAR,Wparam('B'),0);
Writeln('send');
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
{ TODO -o猪悟能 : 发送串必须用sendMessage }
hNotePad:=FindWindow(nil,'无标题 - 记事本');
if hNotePad<>0 then
begin
hedit:=FindWindowEx(hNotePad,0,'edit',nil);
SendMessage(hedit,WM_SETTEXT,Length(Memo1.Text),
Integer(PChar(Memo1.Text)));
Writeln('send');
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
hNotePad:=FindWindow('Notepad','无标题 - 记事本');
if hNotePad<>0 then
begin
hedit:=FindWindowEx(hNotePad,0,'edit',nil);
PostMessage(hedit,WM_CHAR,Wparam($bd),0);
PostMessage(hedit,WM_CHAR,Wparam($f1),0);
Writeln('send');
end;
end;
end.
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.040368795394897 seconds