<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 網(wǎng)絡(luò )考試系統中防止U盤(pán)作弊方法研究

網(wǎng)絡(luò )考試系統中防止U盤(pán)作弊方法研究

作者: 時(shí)間:2011-05-10 來(lái)源:網(wǎng)絡(luò ) 收藏

3.3 鎖鍵盤(pán)設計
鎖鍵盤(pán)模塊的執行結果呈現在考生面前的是鍵盤(pán)處于失效。本模塊被調用后,將封鎖鍵盤(pán)上的所有字母鍵、功能鍵和組合鍵,唯一開(kāi)放的鍵是F12鍵,是輸入解鎖密碼的入口鍵。
其功能是:
(1)封鎖鍵盤(pán)上的所有單鍵,只留F12鍵。
  (2)封鎖Ctrl-Alt-Delete組合鍵,禁止打開(kāi)Windows任務(wù)管理器。
  (3)封鎖Windows-Key(微軟鍵),禁止打開(kāi)開(kāi)始菜單。
  (4)封鎖Alt-F4組合鍵,禁止用此鍵關(guān)閉本程序。
  (5)封鎖Alt-Tab、Alt-Esc組合鍵,禁止切換任務(wù)窗體。
  在封鎖鍵盤(pán)模塊設計中使用到了鉤子(Hook)技術(shù)。使用鍵盤(pán)鉤子截獲鍵盤(pán)消息,在鉤子函數中判斷鍵盤(pán)消息中的鍵是否需要屏蔽鍵,如果需要屏蔽鍵,則不將此消息發(fā)送到窗體,從而達到屏蔽鍵盤(pán)的目的。由于需要屏蔽的鍵中有Windows-Key,而使用普通的鍵盤(pán)鉤子不能捕捉到Windows-Key鍵。所以使用了底層鍵盤(pán)鉤子,即全局鍵盤(pán)鉤子。
  安裝鍵盤(pán)鉤子:
  [DllImport(user32, EntryPoint = SetWindowsHookExA, CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
  public static extern int SetWindowsHookEx(int idHook, // 鉤子的類(lèi)型,即其處理的消息類(lèi)型。
  GlobalKeyboardProcDelegate lpfn, // 如果dwThreadId參數為0 或是一個(gè)由別的進(jìn)程創(chuàng )建的線(xiàn)程的標識,lpfn必須指向DLL中的鉤子子程。
  int hMod, // 應用程序實(shí)例的句柄。標識包含lpfn所指的子程的DLL。
  int dwThreadId);
  其中:GlobalKeyboardProcDelegate是處理鍵盤(pán)鉤子截獲的鍵盤(pán)消息的代理函數。設計如下:
public int GlobalKeyboardProc(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam)
{
bool keyEven = false;
switch (wParam)
{
case WM_KEYDOWN:
case WM_KEYUP:
case WM_SYSKEYDOWN:
case WM_SYSKEYUP:
keyEven = (((lParam.vkCode == 0x09) (lParam.
flags == 0x20)) | // Alt+Tab
((lParam.vkCode == 0x1B) (lParam.flags ==
0x20)) | // Alt+Esc
((lParam.vkCode == 0x1B) (lParam.flags ==
0x00)) | // Ctrl+Esc
((lParam.vkCode == 0x5B) (lParam.flags ==
0x01)) | // Left Windows Key
((lParam.vkCode == 0x5C) (lParam.flags ==
0x01)) | // Right Windows Key
((lParam.vkCode == 0x73) (lParam.flags ==
0x20)) | // Alt+F4
);
break;
}
if (keyEven == true)
{
return 1;
}
else
{
return CallNextHookEx(0, nCode, wParam, ref lParam);
}
  }
  卸載鍵盤(pán)鉤子:
  [DllImport(user32, EntryPoint = UnhookWindowsHookEx, CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
  public static extern int UnhookWindowsHookEx(int hHook);
  轉到下一個(gè)鉤子:
[DllImport(user32,EntryPoint=CallNextHookEx, CharSet=
CharSet.Ansi, SetLastError=true,ExactSpelling= true)]
public static extern int CallNextHookEx(int hHook, int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam);
4 系統自身保護及運行
由于考生在過(guò)程中的現象時(shí)有發(fā)生,因此監考和考生是一對不可避免的矛盾,相互存在著(zhù)一
定斗智斗勇現象。系統在一定程度上也充當了監考的角色,因此它就需要具有一定的自身保護能力,而不被考生終止運行。系統采用如下幾種保護:
(1)用戶(hù)終止保護
  系統被設計成一個(gè)后臺運行系統,運行后不顯示任何窗體,只在系統的托盤(pán)中顯示一個(gè)圖標,而且不提供右擊彈出菜單和雙擊顯示主程序窗體的功能。從而使考生不能直接終止本程序,實(shí)現終止保護。
  (2)進(jìn)程保護
  采用了進(jìn)程保護技術(shù),使得在Windows的任務(wù)管理器中無(wú)法終止本進(jìn)程。考生在使用U盤(pán)前先終止本進(jìn)程。
(3)卸載保護
  系統在第一次運行時(shí)會(huì )自動(dòng)在添加/刪除程序列表中找到自己的列表項,并將其隱藏起來(lái),這樣本系統就無(wú)法從Windows中卸載。
系統目前已經(jīng)運行在本校進(jìn)行的“試點(diǎn)高校教育部分基礎課程統一”的客戶(hù)端上,取得了良好的效果。該系統不但能運行在客戶(hù)端上,也可以運行于各種無(wú)紙化考試系統的客戶(hù)端上。系統目前還有一些不足之處需要改進(jìn),如目前只是單機版,過(guò)程狀態(tài)數據沒(méi)有記錄,不利于監考老師的集中管理,還有待于升級成版。
參考文獻
[1] 李英偉.USB2.0原理與工程開(kāi)發(fā)(第2版)[M].北京:國防工業(yè)出版社,2007
[2] 陳啟美,丁傳鎖.計算機USB接口技術(shù)[M]. 南京:南京大學(xué)出版社,2003.
[3] 薛園園. USB應用開(kāi)發(fā)技術(shù)大全[M].北京: 人民郵電出版社,2007.
[4] 肖踞雄,翁鐵成. USB技術(shù)及應用設計[M].北京:清華大學(xué)出版社,2003.

本文引用地址:http://dyxdggzs.com/article/162102.htm

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>