是winform还是web,
winform
web的话用js来屏蔽
winform
- C# code
-
#region 钩子程序 //委托 //public delegate int HookProc(int nCode, int wParam, IntPtr lParam); //static int hHook = 0; //public const int WH_KEYBOARD_LL = 13; //LowLevel键盘截获,如果是WH_KEYBOARD=2,并不能对系统键盘截取,Acrobat Reader会在你截取之前获得键盘。 //HookProc KeyBoardHookProcedure; //键盘Hook结构函数 //[StructLayout(LayoutKind.Sequential)] //public class KeyBoardHookStruct //{ // public int vkCode; // public int scanCode; // public int flags; // public int time; // public int dwExtraInfo; //} //设置钩子 //[DllImport("user32.dll")] //public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId); //[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] //抽掉钩子 //public static extern bool UnhookWindowsHookEx(int idHook); //[DllImport("user32.dll")] //调用下一个钩子 //public static extern int CallNextHookEx(int idHook, int nCode, int wParam, IntPtr lParam); //[DllImport("kernel32.dll")] //public static extern int GetCurrentThreadId(); //[DllImport("kernel32.dll")] //public static extern IntPtr GetModuleHandle(string name); #endregion #region //public void Hook_Start() //{ // // 安装键盘钩子 // if (hHook == 0) // { // KeyBoardHookProcedure = new HookProc(KeyBoardHookProc); // //hHook = SetWindowsHookEx(2, // // KeyBoardHookProcedure, // // GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), GetCurrentThreadId()); // hHook = SetWindowsHookEx(WH_KEYBOARD_LL, // KeyBoardHookProcedure, // GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0); // //如果设置钩子失败. // if (hHook == 0) // { // Hook_Clear(); // //throw new Exception("设置Hook失败!"); // } // } //} //取消钩子事件 //public void Hook_Clear() //{ // bool retKeyboard = true; // if (hHook != 0) // { // retKeyboard = UnhookWindowsHookEx(hHook); // hHook = 0; // } // //如果去掉钩子失败. // if (!retKeyboard) throw new Exception("UnhookWindowsHookEx failed."); //} //这里可以添加自己想要的信息处理 //public static int KeyBoardHookProc(int nCode, int wParam, IntPtr lParam) //{ // if (nCode >= 0) // { // KeyBoardHookStruct kbh = (KeyBoardHookStruct)Marshal.PtrToStructure(lParam, typeof(KeyBoardHookStruct)); // if (kbh.vkCode == 91) // 截获左win(开始菜单键) // { // return 1; // } // if (kbh.vkCode == 92)// 截获右win // { // return 1; // } // if (kbh.vkCode == (int)Keys.Escape && (int)Control.ModifierKeys == (int)Keys.Control) //截获Ctrl+Esc // { // return 1; // } // if (kbh.vkCode == (int)Keys.F4 && (int)Control.ModifierKeys == (int)Keys.Alt) //截获alt+f4 // { // return 1; // } // if ((int)Control.ModifierKeys == (int)Keys.Control + (int)Keys.Alt + (int)Keys.Delete) //截获Ctrl+Alt+Delete // { // return 1; // } // if (kbh.vkCode == (int)Keys.Tab && (int)Control.ModifierKeys == (int)Keys.Alt) //截获alt+tab // { // return 1; // } // } // return CallNextHookEx(hHook, nCode, wParam, lParam); //} #endregion
web的话用js来屏蔽
- HTML code
-
<html> <script> function KeyDown(){ //屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 //alert("ASCII代码是:"+event.keyCode); if ((window.event.altKey)&& ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ← (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 → alert("不准你使用ALT+方向键前进或后退网页!"); event.returnValue=false; } if ((event.keyCode==8) || //屏蔽退格删除键 (event.keyCode==116)|| //屏蔽 F5 刷新键 (event.keyCode==112)|| //屏蔽 F1 刷新键 (event.ctrlKey && event.keyCode==82)){ //Ctrl + R event.keyCode=0; event.returnValue=false; } if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n event.returnValue=false; if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10 event.returnValue=false; if (window.event.srcElement.tagName == "A" && window.event.shiftKey) window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页 if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4 window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); return false;} } function Showhelp(){ alert("呵呵"); return false; } </script> <head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>键盘代码</title> <style> <!-- body { font-family: Verdana; color: #000080; font-size: 9pt } --></style> </head> <body onkeydown="KeyDown()" oncontextmenu="event.returnValue=false" onhelp="Showhelp();return false;"> <p align="center">请按键盘</p> </body> </html>