呼叫api來進行hook操作,下面的**就可以完成功能
usingview codesystem;
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
#region nested type: keymsg
public
struct
keymsg
#endregion
}}
ps:也可以通過將[hkey_current_user\software\microsoft\windows\currentversion\policies\system] 下的disabletaskmgr項的值設為"1」來遮蔽任務管理器。
C 使用API遮蔽系統熱鍵和任務管理器
最近做的乙個winform型別的專案中需要遮蔽系統熱鍵,在網上搜尋了一下,基本上都是呼叫api來進行hook操作,下面的 就可以完成功能 using system using system.io using system.reflection using system.runtime.interop...
C 遮蔽系統熱鍵
一般來說會用到hook 鉤子 即獲取系統的按鍵或者滑鼠動作,然後在系統響應之前執行自定義動作,或者直接截斷這個訊息,這就是遮蔽系統熱鍵的原理了。首先要呼叫作業系統的dll檔案,先引入命名空間 using system.runtime.interopservices 呼叫作業系統動態鏈結庫的方法 dl...
用C 遮蔽系統熱鍵(包括禁止使用任務管理器)
一般來說會用到hook 鉤子 即獲取系統的按鍵或者滑鼠動作,然後在系統響應之前執行自定義動作,或者直接截斷這個訊息,這就是遮蔽系統熱鍵的原理了。首先要呼叫作業系統的dll檔案,先引入命名空間 using system.runtime.interopservices 呼叫作業系統動態鏈結庫的方法 dl...