欢迎来到Java学习网!
设为首页 | 加入收藏
当前位置: 首页 > 编程开发 > Delphi编程 >

演示了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.

    相关教程
    推荐内容