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

如何用程式觸發鍵盤按鍵的事件(Ex. Ctl + F11)

答題得分者是:領航天使
wkshei
一般會員


發表:3
回覆:9
積分:7
註冊:2002-04-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-30 03:38:27 IP:61.16.xxx.xxx 未訂閱
我看了如何用程式觸發鍵盤按鍵的事件的範例(單鍵),覺得受益良多, 可是我如法泡製拿來作組合鍵(ex: Ctl F11)確無法成功, 請問那位先知可否告之, 謝謝 Hsieh
------
Hsieh
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-30 21:43:46 IP:61.219.xxx.xxx 未訂閱
引言: 我看了如何用程式觸發鍵盤按鍵的事件的範例(單鍵),覺得受益良多, 可是我如法泡製拿來作組合鍵(ex: Ctl F11)確無法成功, 請問那位先知可否告之, 謝謝 Hsieh
試了好久,寫出一個範例程式給您參考: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) Memo1: TMemo; SpeedButton2: TSpeedButton; SpeedButton1: TSpeedButton; SpeedButton3: TSpeedButton; procedure SpeedButton2Click(Sender: TObject); procedure Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.SpeedButton2Click(Sender: TObject); begin memo1.setfocus; keybd_event(VK_CONTROL,0,0,0); keybd_event(VK_F1,0,0,0); keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0); keybd_event(VK_F1,0,KEYEVENTF_KEYUP,0); end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin memo1.setfocus; keybd_event(VK_MENU,0,0,0); keybd_event(VK_F1,0,0,0); keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0); keybd_event(VK_F1,0,KEYEVENTF_KEYUP,0); end; procedure TForm1.SpeedButton3Click(Sender: TObject); begin memo1.setfocus; keybd_event(VK_SHIFT,0,0,0); keybd_event(VK_F1,0,0,0); keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0); keybd_event(VK_F1,0,KEYEVENTF_KEYUP,0); end; procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_F1 then begin caption:='F1'; if shift=[ssCtrl] then caption:='C-F1'; if shift=[ssAlt] then caption:='A-F1'; if shift=[ssShift] then caption:='S-F1'; end; end; end. 先試試有問題再問! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
wkshei
一般會員


發表:3
回覆:9
積分:7
註冊:2002-04-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-31 12:36:31 IP:61.16.xxx.xxx 未訂閱
Thanks 我研究了一下,可以了, 結論是要搭配 Keybd_Event 來處理 Hsieh
------
Hsieh
系統時間:2024-04-30 1:01:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!