万挂作坊4.x是一款辅助易语言的外挂软件,这款软件包含万挂作坊4.x完整e源码,还有最新教程。欢迎需要的用户来下载使用。
高手将复杂的编程教程转化为中文,简单,易懂。然后放在自己的网站上,可查看源代码的功能写法制作辅助必备学习参考!
钩子能对系统中其他窗口的消息提前截取,相信很多人都对这项技术充满了向往,甚至觉得其深不可测。其实HOOK非常简单。
先来看一下设置钩子的API:SetWindowsHookex
The SetWindowsHookEx function installs an application-defined hook proCEdure into a hook chain. An application installs a hook procedure to monitor the system for certain types of events. A hook procedure can monitor events associated either with a specific thread or with all threads in the system. This function supersedes the SetWindowsHook function.
这段话的意思大致是这个API函数会向钩子链(即一连串钩子)中安装一个钩子并处理指定的消息,可以安装在指定的进程或系统中的所有进程(全局钩子)。
再来看看函数的原型:
HHOOK SetWindowsHookEx(
int idHook, // type of hook to install 要安装的钩子的类型
HOOKPROC lpfn, // address of hook procedure 钩子函数的地址
HINSTANCE hMod, // handle of application instance 包含钩子函数模块的句柄
DWORD dwThreadId // identity of thread to install hook for 要安装钩子的线程的PID);
其中,第一个参数idHook可以有以下取值:
WH_CALLWNDPROC//监视到达窗口前的消息
WH_CALLWNDPROCRET//监视窗口处理后的消息
WH_DEBUG//监视系统调用其他HOOK关联的HOOK子程
WH_GETMESSAGE//监视发送到窗体消息队列里的消息
WH_JOURNALPLAYBACK//全局HOOK,可以插入消息到消息队列
WH_JOURNALRECORD//全局HOOK,监视输入事件(键盘、鼠标等)
WH_KEYBOARD//键盘钩子
在操作系统中每个在运行的进程都是独立的.禁双开的程序在运行时,需要留下一些专有的特征供第二次运行时检测用,当第二次运行时,会去尝试检测有没有某个专有的特征.若该特征已存在则结束自身进程.若不存在则继续运行.通过这种方式,就能简单的达到禁止双开的目的.
本文介绍第一种,是比较常用的.通过 窗口标题 与 窗口类名 的特征来达到禁止双开的功能.
如果我们的程序的主要窗口类名与窗口标题是唯一的,一般不会与他人的程序出现相同的情况时,可以用如下API来实现禁止双开功能.