鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > delphi > >

delphi用postMessage发送字符到记事本

来源:互联网 作者:佚名 时间:2015-12-13 10:41
演示了PostMessage, SendMessage, WM_CHAR发送汉字。 源代码: ------------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = c

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

网友评论
<