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

网站seo服务公司给公司建立网站

网站seo服务公司,给公司建立网站,网站建设需要哪些硬件,怎么入侵wordpress原标题#xff1a;如何编写一个全局钩子 钩子函数并不是什么高深的技术,在Microsoft的Win32 SDK手册上就有记述。不过很可惜秉承M$的一贯风格#xff0c;要看懂可是不容易的事#xff01;而且它的例子是使用SDK写的#xff0c;又不完整#xff01;这就让我们这些用只会Del… 原标题如何编写一个全局钩子 钩子函数并不是什么高深的技术,在Microsoft的Win32 SDK手册上就有记述。不过很可惜秉承M$的一贯风格要看懂可是不容易的事而且它的例子是使用SDK写的又不完整这就让我们这些用只会Delphi的程序员更看不懂了。不过用钩子函数是很有用的例如鼠标钩子可以拦截下所有的鼠标消息的。 钩子函数一共有12种(这里就不列举出来了不过说实话我多数钩子也没有用过^_^)分为全局子和线程钩子两种。线程钩子就只监视某个线程全局钩子可以监视Windows的所有线程。具体的你可以看看Delphi 带的Win32 SDK就是是全英文的可惜了。全局钩子是必须用DLL加载也就是说钩子函数这部分必须包装为一个DLL文件然后再在主程序中调用钩子DLL中函数才可以而且有些钩子是必须以全局钩子的方式存在也就是一定要用DLL包装它才可以。 再解释一下设置钩子的Api函数 function SetWindowsHookEx(idHook: Integer; lpfn: TFNHookProc; hmod: HINST; dwThreadId: DWORD): HHOOK; stdcall;这是在Delphi下的说明其中第一个参数是钩子的类型第二个参数是钩子函数的地址第个参数是包含钩子函数的模块句柄第四个参数指定监视的线程返回钩子句柄。如果指定了某个确定的线程就只监视那个线程即是线程钩子如果为空即是监视所有线程的全局钩子。其它几个相关函数就没有什么讲的了只要照着用就可以了。具体的看我的源程序吧 另外如果你只想使用进程钩子的话有一个现成的控件可以用就是Rx的RxWindowHook控件。拖到你窗体上,设置Active为True就可以了。 然后他只有BeforeMessage(消息从消息队列取走前)和AfterMessage(消息从消息队列取走后)两个事件响应他就可以了怎么用就看你的了。 下面我说说比较实用的全局钩子的使用我写了一个最简单的鼠标全局钩子的例子我还假定你懂如何写DLL。好了来看源程序(BTW我学习编程技巧的时候总是想看一些最简单的例子可是有些作者习惯用复杂的应用作为例子。学起来真是痛苦) 一、DLL的工程文件。 library hookprj; uses SysUtils, Classes, hkprocunit in hkprocunit.pas; {$R *.RES} exports EnableMouseHook, //只要把这两个函数输出就可以了 DisableMouseHook;//不会不懂函数的意思吧^_^。 begin end. 二、DLL输出函数的实现单元。 unit hkprocunit; interface uses Windows,Messages; var hHk: HHOOK;//钩子的句柄值。 function MouseHookProc(nCode: Integer;WParam: WPARAM;LParam: LPARAM): LRESULT;stdcall; //鼠标钩子的回调函数即是用它来处理得到消息后要干什么。这里我只是发送一个//WM_PASTE消息。 //nCode参数是Hook的标志一般只关心小于0时。看下面的详细说明 //WParam参数表示鼠标消息的类型 //LParam参数是一个指向 TMOUSEHOOKSTRUCT 结构的指针。结构包含了鼠标消息的状态我只用了hwnd一个 //即鼠标消息要传递给的窗口句柄。 //返回值如果不是0的话windows就把这个消息丢掉其它的程序就不会再收到这个消息了。 function EnableMouseHook:Boolean; stdcall; export; function DisableMouseHook:Boolean; stdcall; export;//两个函数都是Boolean类型成功都是返回True implementation function MouseHookProc(nCode: Integer;WParam: WPARAM;LParam: LPARAM): LRESULT;stdcall; var MouseHookStruct: ^TMOUSEHOOKSTRUCT;//这个结构Delphi在Windows单元有定义直接用就可以了。 nState: SHORT;//得到键盘状态的GetKeyState函数的返回值。这是一个16位的数。 begin Result : 0; //最好首先给他一个返回值不然会有警告的记住这可不是C语言。 //当nCode小于0时表示还有其它的Hook,必须把参数传给他。 //此时就要用Api函数CallNextHookEx让他调用下一个Hook!!!当然不用好像也可以。 if nCode 0 then //如果有钩子就卸掉他。 begin UnHookWindowsHookEx(hHk); hHk : 0; Result : True; end else Result : False; end; end. 三、使用钩子的应用程序的工程文件。 program Project1; uses Forms, Unit1 in Unit1.pas {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. 四、使用钩子的应用程序代码。 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, RxHook; type TForm1 class(TForm) Button1: TButton;//放上两个Button和一个Edit控键用来试用我们的钩子函数。 Button2: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form1: TForm1; //下面是引用hookprj.dll中的函数。 function EnableMouseHook:Boolean; stdcall; external Hookprj.dll name EnableMouseHook; function DisableMouseHook:Boolean; stdcall; external Hookprj.dll name DisableMouseHook; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin if EnableMouseHook then ShowMessage(启动钩子成功); end; procedure TForm1.Button2Click(Sender: TObject); begin if DisableMouseHook then ShowMessage(停止钩子成功); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin //这里调用是必须的否则有可能没有卸载钩子就退出了那就不好了。 DisableMouseHook; end; end. Windows2000 Delphi5.0sp1 测试通过 责任编辑
http://www.hkea.cn/news/14427352/

相关文章:

  • 国内做设计的网站建设海口手机版网站建设
  • 地产网站怎么做免费小程序制作软件
  • 新开传奇网站发布站三端互通西安网站建设流程
  • 网站后台显示不全视频网站焦点图
  • 网站文字设计建站软件
  • 社保官方网站登录入口爱站网是干嘛的
  • 婚庆网站策划wordpress 开放适配
  • 网站网页的像素尺wordpress 是什么
  • 做广告公司网站建设价格网站建设的具体方法
  • 广州网站备案方案网站站外优化推广方式
  • 网站建设 公司 天津爱用建站官网
  • 站长工具网址是多少内网建设网站需要什么条件
  • 网站空间1g多少钱一年广州微信网站建设市场
  • 网站的收录率网站 集约化平台建设方案的通知
  • 两个网站合并建设实施方案在深圳如何注册公司
  • 怎样做网站吸引人网站底部怎么修改
  • 怎么知道网站开发语言绍兴网站制作套餐
  • 2016优秀网站设计如何安装wordpress的插件安装教程
  • 网站后台怎么用亭湖区建设局网站
  • 电子商务网站基本功能抚州建设局网站
  • 沈阳网站建设哪家做得好啊网站制作需要多少钱一年
  • 龙华网站建设公司网站建设土豆视频教程
  • 简洁 手机 导航网站模板下载pc端手机网站 样式没居中
  • 秦皇岛做网站外包泰州网站建设价位
  • 网站备案网站类型wordpress登录页修改
  • 恩施网站优化全网推广的方式
  • 公司经营范围 网站开发建设人员变更是哪个网站
  • 制作网站的软件下载如何做推广呢
  • 常德哪里有做网站建设项目流程八个阶段
  • 电商网站项目经验介绍ppt模板网站绿标怎么做