delphi用postMessage发送字符到记事本  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi用postMessage发送字符到记事本


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