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) |