最近做的乙個winform型別的專案中需要遮蔽系統熱鍵,在網上搜尋了一下,基本上都是呼叫api來進行hook操作,下面的**就可以完成功能
using system;
using system.io;
using system.reflection;
using system.runtime.interopservices;
using system.windows.forms;
namespace wat.pms
return callnexthookex(hkeyboardhook, ncode, wparam, lparam);
}/**
/// 啟動hook,並用流遮蔽任務管理器
///
/// author:zhangronghua
/// create datetime: 2009-6-19 20:20
/// update history:
///
///
public void hookstart()
//用二進位製流的方法開啟任務管理器。而且不關閉流.這樣任務管理器就開啟不了
myfs = new filestream(environment.expandenvironmentvariables("%windir%\\system32\\taskmgr.exe"),
filemode.open);
byte mybyte = new byte[(int) myfs.length];
myfs.write(mybyte, 0, (int) myfs.length);}}
/**
/// 解除安裝hook,並關閉流,取消遮蔽任務管理器。
///
/// author:zhangronghua
/// create datetime: 2009-6-19 20:21
/// update history:
///
///
public void hookstop()
if (null != myfs)
if (!(retkeyboard))
}#endregion
nested type: keymsg#region nested type: keymsg
public struct keymsg
#endregion}}
複製**
ps:也可以通過將[hkey_current_user\software\microsoft\windows\currentversion\policies\system] 下的disabletaskmgr項的值設為"1」來遮蔽任務管理器。
C 使用API遮蔽系統熱鍵和任務管理器
呼叫api來進行hook操作,下面的 就可以完成功能 using system using system.io using system.reflection using system.runtime.interopservices using system.windows.forms namesp...
C 遮蔽系統熱鍵
一般來說會用到hook 鉤子 即獲取系統的按鍵或者滑鼠動作,然後在系統響應之前執行自定義動作,或者直接截斷這個訊息,這就是遮蔽系統熱鍵的原理了。首先要呼叫作業系統的dll檔案,先引入命名空間 using system.runtime.interopservices 呼叫作業系統動態鏈結庫的方法 dl...
用C 遮蔽系統熱鍵(包括禁止使用任務管理器)
一般來說會用到hook 鉤子 即獲取系統的按鍵或者滑鼠動作,然後在系統響應之前執行自定義動作,或者直接截斷這個訊息,這就是遮蔽系統熱鍵的原理了。首先要呼叫作業系統的dll檔案,先引入命名空間 using system.runtime.interopservices 呼叫作業系統動態鏈結庫的方法 dl...