用C++写很简单,用C#写,则实际是调用windows API 类似钩子程序。撞钉
安全绳网file.ddvip/2008_11/1225788644_ddvip_7698.rar
运行界面如下:
二说明:
在C++中实现该功能十分简单,也有很多经典例子可以实现,在C#中确有很多问题会出现。 储压器
对于钩子知识不太熟悉可以参考我转载的另一篇文章:wwwblogs/hocylan/articles/1033895.html[微软HOOK技术专题]
三大概步骤
其实主要就是调用windows API
海藻苏打水
第一步:安装钩子:SetWindowsHookEx(WH_Codes idHook, HookProc lpfn,IntPtr pInstance, int threadId);
第二步:回调和处理CallNextHookEx(IntPtr pHookHandle, int nCode,Int32 wParam, IntPtr lParam); 第三步:完成普通的业务处理其它流程
将封装的钩子应用到系统中…….
private void start_Click(object sender, EventArgs e)型钢 {hook_Main.InstallHook("1");} private void stop_Click(object sender, EventArgs e) {this.hook_Main.UnInstallHook();}监控界面 private void stopkeyboard_Click(object sender, EventArgs e) { hook_Main.InstallHook("2"); }
第四步:拆卸钩子UnhookWindowsHookEx(IntPtr pHookHandle);