全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3533
推到 Plurk!
推到 Facebook!

如何用程式模擬鍵盤按下Enter鍵

答題得分者是:kkccgg
leobxb
一般會員


發表:18
回覆:30
積分:14
註冊:2003-10-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-21 15:02:22 IP:61.66.xxx.xxx 未訂閱
請問要如何用程式模擬按下Enter鍵啊?? 有收穫記得回饋,讓我們台灣跨出程式的出頭天...
kkccgg
初階會員


發表:50
回覆:54
積分:30
註冊:2002-07-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-21 15:43:39 IP:202.145.xxx.xxx 未訂閱
1.單純的送一個字給Notepad採用"SendMessage" procedure TForm1.Button1Click(Sender: TObject); var H : THandle; ClassName : Array[0..255] of Char; P : TPoint; begin H := FindWindow(nil, '未命名 - 記事本'); if H = 0 then begin ShowMessage('Not Found'); exit; end; H := FindWindowEx(H, 0, 'Edit', nil); if H <> NULL then begin SendMessage(H, WM_CHAR, 65, 0); end; end; 2.送一個F1按鍵給Notepad採用"keybd_event" procedure TForm1.Button1Click(Sender: TObject); var H : THandle; ClassName : Array[0..255] of Char; begin H := FindWindow(nil, '未命名 - 記事本'); if H = 0 then begin ShowMessage('Not Found'); exit; end; // H := FindWindowEx(H, 0, 'Edit', nil); if H <> NULL then begin BringWindowToTop(H); keybd_event(VK_F1, 0, 0, 0); keybd_event(VK_F1, 0, KEYEVENTF_KEYUP, 0); end; end; 3.送A到Z與Shift控制大小寫給Notepad採用"keybd_event" procedure TForm1.Button1Click(Sender: TObject); var npad:HWND; i,j:integer; begin //須先閞NotePad Npad := FindWindow(nil, '未命名 - 記事本'); if npad <> 0 then begin BringWindowToTop(Npad); //使其成為focus之window for j:=1 to 5 do begin for i := ord('A') to ord('Z') do begin //大小寫均同 keybd_event(i, 0, 0, 0); //keydown此鍵 keybd_event(i, 0, KEYEVENTF_KEYUP, 0); //keyup keybd_event(VK_SHIFT, 0, 0, 0); //按著Shift ,使成為大寫 keybd_event(I, 0, 0, 0); //keydown keybd_event(I, 0, KEYEVENTF_KEYUP, 0); //keyup keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0); //放開shift end; keybd_event(VK_RETURN, 0, 0, 0); //換行 keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); end; end; end; 4.送一個字串給Notepad採用"SendMessage" procedure TForm1.Button1Click(Sender: TObject); var s:string; h, npad:HWND; begin Npad := FindWindow(nil, '未命名 - 記事本'); if npad <> 0 then begin h:=ChildWindowFromPoint(npad,Point(10,10)); if h <> 0 then begin BringWindowToTop(Npad); //使其成為focus之window s:='測試Test'; SendMessage(h, WM_SETTEXT,0,longint(PCHAR(S))); end; end; end;
系統時間:2024-05-06 12:06:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!