程式執行時用到taskkeyhook.dll,編譯時用到taskkeyhook.lib,並把下面的類新增到應用程式中,呼叫方法為:
ctaskkeymgr::disable(ctaskkeymgr::taskmgr|ctaskkeymgr::taskkeys|ctaskkeymgr::taskbar,false,false);
//取消遮蔽
ctaskkeymgr::disable(ctaskkeymgr::taskmgr|ctaskkeymgr::taskkeys|ctaskkeymgr::taskbar,true,false);
//實施遮蔽
ctaskkeymgr.h:
#pragma once
#include "taskkeyhook.h"
class ctaskkeymgr ;
static void disable(dword dwitem,bool bdisable,bool bbeep=false);
static bool istaskmgrdisabled();
static bool istaskbardisabled();
static bool aretaskkeysdisabled()
};ctaskkeymgr.cpp:
#include "stdafx.h"
#include "taskkeymgr.h"
#define hkcu hkey_current_user
// magic registry key/value for "remove task manager" policy.
//lpctstr key_disabletaskmgr =
"software//microsoft//windows//currentversion//policies//system";
lpctstr val_disabletaskmgr = "disabletaskmgr";
//// disable task-key related stuff.
// // dwflags = what to disable
// bdisable = disable (true) or enable (false)
// bbeep = whether to beep for illegal keys (taskkeys only)
//void ctaskkeymgr::disable(dword dwflags, bool bdisable, bool bbeep)
else
}// task keys (alt-tab etc)
if (dwflags & taskkeys)
::disabletaskkeys(bdisable,bbeep); // install keyboard hook
// task bar
if (dwflags & taskbar)
}bool ctaskkeymgr::istaskbardisabled()
bool ctaskkeymgr::istaskmgrdisabled()
遮蔽「任務管理器」
適用於win nt 2k xp,引數key為true,遮蔽 任務管理器 為false,任務管理器 可用 使用方法 disabletaskmgr true procedure disabletaskmgr key boolean var reg tregistry begin reg tregistr...
C 使用API遮蔽系統熱鍵和任務管理器
最近做的乙個winform型別的專案中需要遮蔽系統熱鍵,在網上搜尋了一下,基本上都是呼叫api來進行hook操作,下面的 就可以完成功能 using system using system.io using system.reflection using system.runtime.interop...
C 使用API遮蔽系統熱鍵和任務管理器
呼叫api來進行hook操作,下面的 就可以完成功能 using system using system.io using system.reflection using system.runtime.interopservices using system.windows.forms namesp...