線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3100
推到 Plurk!
推到 Facebook!

如何在Dos下模擬鍵盤輸入

答題得分者是:qoo1234
Marcvip
一般會員


發表:5
回覆:9
積分:2
註冊:2003-03-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-04 14:02:42 IP:211.21.xxx.xxx 未訂閱
Dear 各位大大: 請問如何在dos下模擬鍵盤輸入,類似windows的keybd_event()事件, 因接觸dos如間不長,只知道keyboard interupt 是09h,要如何寫呢?? BR
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-10 21:19:29 IP:220.131.xxx.xxx 未訂閱
使用 ah=5
     ch=scan code
     cl=ascii code
     int 16h         就可以模擬按鍵了~
ex: 模擬 esc
     mov ah,5
     mov cx,127h
     int 16h
 
網海無涯,唯學是岸!
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-10 21:31:27 IP:220.131.xxx.xxx 未訂閱
Turbo Pascal
 
uses 
  Dos;     function SimulKey(Scan, ASCII: Byte): Boolean; 
var 
  Regs: Resgiters; 
begin 
  Regs.ah := $05; 
  Regs.ch := Scan; 
  Regs.cl := ASCII; 
  Intr($16, Regs); 
  SimulKey := (Regs.al = 0); 
end;     或    function SimulKey(Scan, ASCII: Byte): Boolean; assembler; 
asm 
  mov  ah, 05h 
  mov  ch, Scan 
  mov  cl, ASCII 
  int  16h 
  not  al 
end;     
網海無涯,唯學是岸!
Marcvip
一般會員


發表:5
回覆:9
積分:2
註冊:2003-03-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-11 09:35:23 IP:211.21.xxx.xxx 未訂閱
thank you.........
nan6085
一般會員


發表:0
回覆:1
積分:0
註冊:2004-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-26 13:24:57 IP:218.166.xxx.xxx 未訂閱
請教一下: 我欲寫一個 DOS 常駐程式.去讀rs232 字元 將每一個讀到的rs232字元,轉成 keyboard按鍵事件 去模擬鍵盤, 但是我測試之後!這一個寫入緩衝器的方法 只能在C:\下面有反應, 但在 dos 的任一其它程式裡測試 例如: [ edit.com ] ms-dos的文書編輯器裡 卻沒有rs232字元被模擬成按鍵的反應.. 後來我想 這或許仍需要模擬一個鍵盤硬體中斷吧! 是否可以指導如何寫一個模擬硬體中斷的程式ㄋ?
Marcvip
一般會員


發表:5
回覆:9
積分:2
註冊:2003-03-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-27 17:04:33 IP:211.21.xxx.xxx 未訂閱
要再送入一個鍵盤中斷沒錯, 因為我是用bc寫的,qoo1234大大寫的Turbo Pascal我不會, 所以要請qoo1234大大幫你吧!!............^^
系統時間:2024-05-03 0:56:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!