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

delphi 用postMessage发送字符


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.10148096084595 seconds