Delphi

Delphi

Delphi SetWindowsHookEx - 设置钩子 UnhookWindowsHookEx - 卸掉钩子

27 0

提示: 如果要设置系统级钩子, 钩子函数必须在 DLL 中.SetWindowsHookEx( idHook: Integer; {钩子类型} lpfn: TFNHookProc; {函数指针} hmod: HINST; {包含钩子函数的模块(EXE、DLL)句柄; 一般是 HInstance; 如果是当前线程这里可以是 0} dwThreadId: DWORD {关联的线程; 可用 GetCurrentThreadId 获取当前线程; 0 表示是系统级钩子}): HHOOK;

Delphi

Delphi WinAPI: SetWindowText - 设置窗口标题

28 0

WinAPI: SetWindowText - 设置窗口标题//声明:SetWindowText( hWnd: HWND; {窗口句柄} lpString: PChar {新标题串指针}): BOOL;//举例:var s: string;begin s := '新标题'; SetWindowText(Handle, PAnsiChar(s));end;

Delphi

Delphi WinAPI: GetWindowText - 获取窗口标题

88 0

WinAPI: GetWindowText - 获取窗口标题//声明:GetWindowText( hWnd: HWND; {窗口句柄} lpString: PChar; {接收文本的缓冲区的指针} nMaxCount: Integer {指定缓冲区大小, 其中包含NULL字符; 如果文本超出,会被被截断}): Integer; {返回字符个数, 不包括中断的空字符; 如果标题为空或句柄无效, 则返回零}//举例:var arr: array[0..254]

Delphi 使用钩子函数 - 数据传递
Delphi

Delphi 使用钩子函数 - 数据传递

41 0

上一个例子是从 DLL 中接受数据, 那怎么给 DLL 传递数据呢? 还有, 在接受数据时, 让 Timer 一直在那扫描也不是个好办法呀. 本例解决了这些问题(但不知解决了博友 "鹏" 的问题没有?).为了方便测试, 提供一个源码下载吧: http://www.cnblogs.com/Files/del/MouseHook_2.rar本例效果图(和上一例是一样的):DLL 文件:library MyHook;uses SysUtils, Windows, Messages,

Delphi 全局的鼠标钩子 使用钩子函数数据传递
Delphi

Delphi 全局的鼠标钩子 使用钩子函数数据传递

88 0

前言: 博友 "鹏" 来信探讨关于钩子的问题, 核心困难是: dll 中的数据如何传递出来. 在接下来的两个例子中探讨这个问题.本例建立一个全局的鼠标钩子, 然后把鼠标的相关信息通过一个自定义的 GetInfo 函数传递给调用钩子的程序.为了方便测试, 提供一个源码下载吧: http://www.cnblogs.com/Files/del/MouseHook_1.rarDLL 文件:library MyHook;uses SysUtils, Windows, Messages,

Delphi

Delphi 使用钩子函数

53 0

目前对钩子的理解:譬如我们用鼠标在某个窗口上双击了一次, 或者给某个窗口输入了一个字母 A;首先发现这些事件的不是窗口, 而是系统!然后系统告诉窗口: 喂! 你让人点了, 并且是连续点了两鼠标, 你准备怎么办?或者是系统告诉窗口: 喂! 有人向你家里扔砖头了, 不信你看看, 那块砖头是 A.这时窗口的对有些事件会忽略、对有些事件会做出反应:譬如, 可能对鼠标单击事件忽略, 窗口想: 你单击我不要紧, 累死你我不负责;但一旦谁要双击我, 我会马上行动, 给你点颜色瞧瞧!这里窗口准备要采取的行动, 就是我们