using system;
using system.collections.generic;
using system.componentmodel;
using system.drawing;
using system.data;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
using system.runtime.interopservices;
using system.diagnostics;
namespace scantest
public
class scanhook
public
bool
start()
return
(hkeyboardhook !=0)
;}public
bool
stop()
return
true;}
private
intkeyboardhookproc
(int ncode,
int32 wparam,
intptr lparam)
if(scanerevent !=
null
&& msg.message ==
13&&
!string
.isnullorempty
(codes.result)
)return0;
}public
class
scanercodes
else}}
public list<
int> keydowns
}public
datetime lastinput
}public
byte
keyboardstate
}public
int keydowncount
}public
string result
else}}
public
string currentkey
}public
string currentchar
}public
bool isshift
}public
void
add(
eventmsg msg)
// 未釋放其他按鍵時按下按鍵
else
if(_keydown.count >0)
// 單位時間內按下按鍵
elseif(
((timespan)
(datetime.now - _last)
).totalmilliseconds < ts)
// 從新記錄輸入內容
else
#endregion
_last = datetime.now;
#region 獲取鍵盤狀態
// 記錄正在按下的按鍵
if(msg.paramh ==0&&
!_keydown.
contains
(msg.message)
)// 清除已鬆開的按鍵
if(msg.paramh >
0&& _keydown.
contains
(msg.message)
)#endregion
#region 計算按鍵資訊
int v = msg.message &
0xff
;int c = msg.paraml &
0xff
;stringbuilder strkeyname =
newstringbuilder
(500);
if(getkeynametext
(c *
65536
, strkeyname,
255)
>0)
);getkeyboardstate
(_state);if
(_key.length ==
1&& msg.paramh ==0)
else
}#endregion
}private
char
shiftchar
(string k,
bool isshiftdown,
byte
state)
else
if(chr >=
'a'&& chr <=
'z')
else
:\"<>?";if
(s.indexof
(chr)
>=0)
}}return chr;}}
public
struct eventmsg
}private scanhook test =
newscanhook()
;private
string msg ="";
private scanhook.
scanerdelegate keycheck;
private
void
getmsg
(scanhook.
scanercodes mcode)
public
void
initstar()
private
void
button1_click
(object sender,
eventargs e)
}}
C 模擬鍵盤輸入
主要用到的類sendkeys.並通過其方法send 向當前活動的應用程式傳送單擊動作行為。例如 sendkeys.send 123 就會模擬鍵盤敲擊1,2,3,每個鍵都由乙個或多個字元表示。若要指定單個鍵盤字元,請使用該字元本身。例如,若要表示字母 a,請將字串 a 傳遞給方法。若要表示多個字元,請...
終止鍵盤輸入
一 檔案 流和鍵盤輸入 1 檔案是一塊儲存資訊的儲存器區域。2 具有強大 靈活等特點的c語言具有許多用於開啟 讀 寫和關閉檔案的庫函式。在乙個級別上,可以使用宿主作業系統的基本檔案工具來處理檔案,這被稱為低階i o。c還以第二種級別處理檔案,稱為標準i o包。這包括建立於處理檔案的i o函式的標準模...
python 鍵盤輸入
python鍵盤輸入與其他程式語言基本類似,回車鍵結束輸入 下面來看一段鍵盤輸入年月日,英文輸出示例 1 usr bin env python2 coding utf 8 3 定義英文月份 4 months january february march april may june july aug...