C 使用API遮蔽系統熱鍵和任務管理器

2021-05-26 21:57:24 字數 1349 閱讀 8476

最近做的乙個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...