如何用程式模擬鍵盤按下Enter鍵 |
答題得分者是:kkccgg
|
leobxb
一般會員 發表:18 回覆:30 積分:14 註冊:2003-10-02 發送簡訊給我 |
|
kkccgg
初階會員 發表:50 回覆:54 積分:30 註冊:2002-07-28 發送簡訊給我 |
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;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |