Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71581
  • 博文数量: 20
  • 博客积分: 2126
  • 博客等级: 大尉
  • 技术积分: 345
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-17 15:51
文章分类

全部博文(20)

文章存档

2013年(1)

2012年(3)

2011年(2)

2010年(6)

2009年(7)

2008年(1)

我的朋友

分类: WINDOWS

2009-07-08 11:57:26

SendMessage太多内容了,太复杂了,做好笔记有助记忆。
 
1.发送字符
 

SendMessage(NotepadEditHWND,WM_CHAR,ord('a'),0);

发送的时候要注意接收者的HWND要是文本框之类,只有窗体的HWND是不行的,但CMD那种窗口,用窗体的HWND就可以了。

2.发送Ctrl + End

var
  keyboardState: TKeyBoardState;
begin
  keyboardState[17] := 129;
  SetKeyBoardState(keyboardState);
  PostMessage(Handle, 256, VK_END, 1);  //Handle 是接收句柄
  Application.ProcessMessages;
  keyboardState[17] := 0;
  SetKeyBoardState(keyboardState);

end;

注意接收的控件要看得到,例外Form要Show了,在PageControl里的话要设成ActivePage,否则不起作用。

3.发送文本

SendMessage(NotepadEditHWND ,WM_SETTEXT,255,Integer(PChar('abc')));


阅读(756) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~