当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: DLL全局钩子 //以下使用内存映射文件共享数据来保存键盘钩
 

 

    摘要:1 缘起  1.1 我的一个出错程序  程序名称:呼叫处理模块的压力测试工具,分为客户端和服务端。   开发工具:delhpi 5  相关技术:客户端通过与服务端建立socket连接来模拟一组电话机的拨入、按键、等待、挂机等过程。服务端对socket事件以及收到的数据包进行预处理,并转化为抽象的呼叫模型数据,然后发送给更上层的呼叫处理模块。由于呼叫处理模块是硬件无关的(与语音板卡、交换机类型均无关......
    摘要: 1 缘起 1.1 我的一个出错程序 程序名称:呼叫处理模块的压力测试工具,分为客户端和服务端。 开发工具:delhpi 5 相关技术:客户端通过与服务端建立socket连接来模拟一组电话机的拨入、按键、等待、挂机等过程。服务端对socket事件以及收到的数据包进行预处理,并转化为抽象的呼叫模型数据,然后发送给更上层的呼叫处理模块。由于呼叫处理模块是硬件无关的(与语音板卡、交换机类型均无关......


DLL全局钩子

dll全局钩子

【程序编程相关:四舍五入的BUG

// 以下使用内存映射文件共享数据来保存键盘钩子与dll句柄  【推荐阅读:clientdataset不能在线程中使

【扩展信息:从MDF文件恢复SqlServer200

// 运行此程序:触发程序加载完dll后,对其他系统内有键盘响应事件的程序自己挂钩

// 而即使触发程序死亡,dll还是会达到监控键盘响应事件自动挂钩的目的

// 直到你按下ctrl+f组合键dll才从内存中卸载.

library sysinfo;

uses

  windows;

const buffer_size = 16 * 1024;

const hook_mem_filename = mem_file;

type

  tshared = record

    keyhook:hhook;

    moudle :thandle;

  end;

  pshared = ^tshared;

var

  memfile: thandle;

  shared: pshared;

{撤消钩子过滤函数}

function uninstallhook: boolean;

begin

  freelibrary(shared^.moudle);

  result := unhookwindowshookex(shared^.keyhook); 

  unmapviewoffile(shared);

  closehandle(memfile);

end;

function keyhookproc(icode: integer; wparam: wparam;

  lparam: lparam): lresult; stdcall; export;

const

  keypressmask = $80000000;

begin

  if icode < 0 then

    result := callnexthookex(shared^.keyhook,


...   下一页
    摘要: 内容:ini文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如vb、vc、vfp、delphi等都提供了读写ini文件的方法,其中delphi中操作ini文件,最为简洁,这是因为delphi6.0提供了一个tinifile类,使我们可以非常灵活的处理ini文件。 一、有必要了解ini文件的结构:;注释[小节名]关键字=值... ini文件允许有多个小节,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE