procedure TForm1.Button1Click(Sender: TObject);
var
begin
{按下鍵}
{松開(kāi)鍵}
end;
然后呢,我就興致勃勃就試試發(fā)送按鍵到記事本,心想:我們都是按鍵盤(pán)輸入的,模擬按鍵肯定行。。
結果,發(fā)送按鍵后,竟然沒(méi)有收到任何消息。。。。汗。。。出什么問(wèn)題了?我再檢查下代碼,發(fā)現沒(méi)問(wèn)題啊,再在網(wǎng)上看看,才知道問(wèn)題原因。。。。原來(lái)記事本的確能接收按鍵信息,不過(guò)。。只是接受到按鍵信息,而不是字符信息。。。如果要記事本有字符顯示,發(fā)送的應該是字符才對。。。汗。。。我恍然大悟。
真正的要這些寫(xiě):
procedure TForm1.Button2Click(Sender: TObject);
var
begin
end;
由于接收字符是記事本的EDIT窗口。。所以還需要定位在那個(gè)EDIT才行。
終于能發(fā)送字符了。。。。呵呵,下面再提供一些另外的東西,需要日后有幫助。。
SendMessage(TreeView.Handle,TVM_SETBKCOLOR,0,RGB(255,0,0)); 設置TV背景顏色
SendMessage(Button.Handle,WM_LBUTTONDOWN,0,0); 鼠標左鍵按下
SendMessage(Button.Handle,WM_LBUTTONUP,0,0); 鼠標左鍵抬起
SendMessage(Edit.Handle,WM_SETTEXT,255,Integer(PChar('abc'))); 傳遞文本
SendMessage(Edit.Handle,WM_Char,Wparam('Q'),2); 傳遞字符
SendMessage(Button.Handle,BM_SETSTYLE,BS_RADIOBUTTON,1); 改變Button風(fēng)格
SendMessage(ComboBox.Handle,CB_SETDropPEDWIDTH,300,0); 改變CBDownWidth
WM_CUT、WM_COPY和WM_PASTE 剪切,復制,粘帖
實(shí)現任意組合鍵
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0);
keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), 0, 0);
keybd_event(ord('V'), MapVirtualKey(ord('V'), 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0);
SendMessageA
說(shuō)明:
1.
2.
3.
4.
wMsg函數
★WM_Create
★WM_DESTROY
★WM_MOVE
★WM_SIZE
★WM_ACTIVATE
★WM_SETFOCUS
★WM_KILLFOCUS
★WM_ENABLE
★WM_SETREDRAW
★WM_SETTEXT
★WM_GETTEXT
★WM_GETTEXTLENGTH
★WM_PAINT
★WM_CLOSE
★WM_QUERYENDSESSION
★WM_QUIT
★WM_QUERYOPEN
★WM_ERASEBKGND
★WM_SYSCOLORCHANGE
★WM_QUERYENDSESSION
★WM_SHOWWINDOW
★WM_ACTIVATEAPP
★WM_FONTCHANGE
★WM_TIMECHANGE
★WM_CANCELMODE
★WM_SETCURSOR
★WM_ENDSESSION
★WM_MOUSEACTIVATE
★WM_CHILDACTIVATE
★WM_QUEUESYNC