随笔分类 -  易语言

VB 消息钩子 详细解释
摘要:今天来学习VB的钩子:本来是因为要做一个小软件,其中要实现的一部分是用鼠标来定位一个座标,那么也就是说本身窗体的焦点可能会离开,就不能使用form的mousedown事件了,那么,使用钩子是可以实现的。基本想法就是,用钩子获取鼠标点击消息,然后将光标所在的座标记录下来,钩子分为线程钩子和系统钩子。线程钩子只能钩取本线程的消息,而系统钩子能勾取系统中所有的消息。VB能实现的只是线程钩子。而且就算是线程钩子好像对鼠标的操作也不会成功!!学习总是由问题引起的,可能这个问题很简单,但是我努力的去找答案一定会有收获对吗?呵呵。。第一步:建立钩子。在我的理解,其实就是使用一个API函数,将一个回调函数的地 阅读全文

posted @ 2011-11-12 00:40 wanghj_dz 阅读(1186) 评论(0) 推荐(0)

VC 消息钩子 详细解释
摘要:Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。可见,利用钩子可以实现许多特殊而有用的功能。因此,对于高级编程人员来说,掌握钩子的编程方法是很有必要的。 钩子的类型 一. 按事件分类,有如下的几种常用类型 (1) 键盘钩.. 阅读全文

posted @ 2011-11-11 17:49 wanghj_dz 阅读(1013) 评论(0) 推荐(0)

易语言 钩子 (钩子HOOK与APIHOOK是不一样的)
摘要:钩子 原英文名称 Hook ,钩子的意思是指拦截或截获。作用就是拦截程序中交互的数据,先经过我们预定的钩子处理接口程序,处理过后,再交还给原处理程序,或者干脆阻止,吃掉这些数据,让原处理程序什么也得不到。钩子原来是Windows操作系统常用来检查系统与程序间通信的一些数据是否到达目标时用的,为不传之密,后来随着一些高手们的研究,逐渐的发现了这些秘密的技术并且公布了出来。同时还有更多的人在掌握了这些技术后,用在自已的软件开发中,实现出奇招而超过其它同类软件的功能而赢得市场。。 钩子技术的种类上很多.------------------------------------------------- 阅读全文

posted @ 2011-11-10 17:52 wanghj_dz 阅读(4578) 评论(0) 推荐(0)

易语言 DLL 详细解释 (API函数 就相当于调用DLL中的函数)
摘要:易语言 DLL 详细解释使用易语言多媒体教程中的例子。.版本 2 //DLL文件 ,需要插入一个窗体、标签、按钮.程序集 窗口程序集1.子程序 _按钮1_被单击窗口1.销毁 ().子程序 自创信息框, , 公开.参数 标题, 文本型.参数 内容, 文本型载入 (窗口1, , 假) // 载入(),必须放在前面,放在后两句的后面则提示窗口无法载入窗口1.标题 = 标题窗口1.标签1.标题 = 内容 //编译为自创信息框.dll-------------------------------------------------------------------------------------- 阅读全文

posted @ 2011-11-10 15:49 wanghj_dz 阅读(3473) 评论(0) 推荐(0)

获取IE地址栏内容
摘要:文件:http://files.cnblogs.com/wanghj-dz/%E8%8E%B7%E5%8F%96ie%E5%9C%B0%E5%9D%80%E6%A0%8F%E5%86%85%E5%AE%B9.rar.版本 2.支持库 spec.程序集 窗口程序集1.子程序 _按钮寻找窗口_被单击.局部变量 窗口句柄, 整数型.局部变量 窗口类名, 文本型.局部变量 窗口标题, 文本型.如果真 (编辑框窗口标题.内容 = “” 且 编辑框窗口类名.内容 = “”) 信息框 (“窗口类名和窗口标题至少必输其一。”, #信息图标, ) 返回 ().如果真结束.如果真 (编辑框窗口类名.内容 ≠ “” 阅读全文

posted @ 2011-06-21 00:52 wanghj_dz 阅读(695) 评论(0) 推荐(0)

求窗口子控件
摘要:求窗口子控件的方法有:窗口_取Z级子窗口()按钮1句柄 = 窗口_取Z级子窗口 (顶级窗口 [计次], { 4, 2 })标签3句柄 = 窗口_取Z级子窗口 (顶级窗口 [计次], { 1, 3, 1 })窗口_查找子控件()分组框1句柄 = 窗口_查找子控件 (顶级窗口 [计次], 1, “Button”, “分组框1 句柄=”, 真, 矩形 (32, 52, 256, 98))按钮1句柄 = 窗口_查找子控件 (顶级窗口 [计次], 2, “Button”, “按钮1 句柄=”, 真, 矩形 (55, 20, 157, 32))窗口_取坐标窗口()分组框1句柄 = 窗口_取坐标窗口 (顶级 阅读全文

posted @ 2011-06-16 22:13 wanghj_dz 阅读(164) 评论(0) 推荐(0)

查找窗口()、枚举窗口()应用
摘要:查找窗口().版本 2.子程序 _按钮2_被单击, , , 采用一个循环体来取出同一类名与标题的所有窗口句柄.局部变量 窗口句柄, 整数型.判断循环首 (真) 窗口句柄 = 窗口_查找窗口 (0, 窗口句柄, 编辑框2.内容, 编辑框1.内容, 选择框1.选中) .如果 (窗口句柄 ≠ 0) 编辑框3.加入文本 (“查找窗口 = ” + 到文本 (窗口句柄) + #换行符) .否则 跳出循环 () .如果结束.判断循环尾 ()------------------------------------------------------------------------------------- 阅读全文

posted @ 2011-06-16 15:41 wanghj_dz 阅读(364) 评论(0) 推荐(0)

当前窗口与活动窗口的区别
摘要:活动窗口:用于获取当前线程中用于接收消息的窗口句柄。这个是相对线程来说的。假设一个程序有多个窗体,每个窗体由一个线程控制。窗口_取活动窗口(线程ID)得到当前程序中活动窗体的窗口句柄。如果当前程序不是调用该函数的程序,则就会返回0.这也说明了这个命令是相对线程的,也可以说是相对于该程序的。如果窗口_取活动窗口(0)相当于窗口_取当前窗口()。如果窗口_取活动窗口(线程ID)每个程序都能取到句柄,说明线程ID有问题,线程ID此刻等于0.当前窗口:得到的是当前最前端窗口,也就是激活的、有焦点的、接收键盘消息的窗口。这是相对系统来说的。注意这里不一定是最前面的窗口,同时还要满足有焦点这个条件。--- 阅读全文

posted @ 2011-06-15 22:02 wanghj_dz 阅读(4859) 评论(0) 推荐(0)

窗口句柄
摘要:.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕编辑框1.加入文本 (“_启动窗口句柄:” + 到文本 (_启动窗口.取窗口句柄 ()) + #换行符)编辑框1.加入文本 (“按钮1句柄:” + 到文本 (按钮1.取窗口句柄 ()) + #换行符)编辑框1.加入文本 (“标签1句柄:” + 到文本 (标签1.取窗口句柄 ()) + #换行符)编辑框1.加入文本 (“选择框1句柄:” + 到文本 (选择框1.取窗口句柄 ()) + #换行符)编辑框1.加入文本 (“单选框1句柄:” + 到文本 (单选框1.取窗口句柄 ()) + #换行符)编辑框1.加入文本 (“编辑框1句柄:” 阅读全文

posted @ 2011-06-15 19:48 wanghj_dz 阅读(458) 评论(0) 推荐(0)

枚举进程()、组合框的使用
摘要:.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕模块注册 ().子程序 _组合框1_将弹出列表.局部变量 进程, 枚举进程结构, , "0" //进程变量是一个数组,数组元素是枚举进程结构.局部变量 计次, 整数型组合框1.清空 ().计次循环首 (枚举进程 (进程), 计次) ' 枚举出来所有的进程 组合框1.加入项目 (进程 [计次].程序名, 进程 [计次].进程ID) //组合框.加入项目(项目文本,项目数值) .如果真 (进程 [计次].程序名 = “calc.exe”) ' 找到自已想要的进程进行操作 ' 有了进程ID后可 阅读全文

posted @ 2011-06-15 16:12 wanghj_dz 阅读(450) 评论(0) 推荐(0)

小实验:用创建进程()打开计算器,然后关闭进程句柄。再用打开进程(进程ID),使用两次,得到两个进程句柄。实验目的:这两个进程句柄都能控制这个进程吗?通过该试验加深对句柄的理解!!
摘要:小实验:用创建进程()打开计算器,然后关闭进程句柄。再用打开进程(进程ID),使用两次,得到两个进程句柄。实验目的:这两个进程句柄都能控制这个进程吗?.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕模块注册 ()_启动窗口.标题 = “自进程ID=” + 到文本 (取自进程ID ()) + “ 主线程ID=” + 到文本 (取进程主线程 (-1)).子程序 _按钮1_被单击.局部变量 进程信息, 进程信息.局部变量 进程句柄1, 整数型.局部变量 进程句柄2, 整数型编辑框2.内容 = “”编辑框1.内容 = 扩展路径 (编辑框1.内容)' 运行() 进程_运行程序 ( 阅读全文

posted @ 2011-06-15 14:27 wanghj_dz 阅读(612) 评论(0) 推荐(0)

返回值是新的进程句柄的只有:打开进程()、创建进程()两个命令,创建进程()命令详解
摘要:返回值是新的进程句柄的只有:打开进程()、创建进程()两个命令。创建进程()命令详解。.子程序 进程_创建进程, 逻辑型, 公开, 创建运行一个新程序进程.注.若不提供 进程信息 参数时会自动关闭句柄,若提供该参数可获得进程与线程句柄,供后续内存操作方面等使用.参数 程序文件, 文本型, , 指定一个程序的全路径名和启动参数 如 "c:\xxx\abc\a.exe" "c:\xxx\abc\a.exe -k -b -c".参数 运行目录, 文本型, 可空, 指定该进程的运行环境目录 如 "c:\xxx\abc\" "c:\x 阅读全文

posted @ 2011-06-15 12:53 wanghj_dz 阅读(464) 评论(0) 推荐(0)

由窗口类名、窗口标题获得窗口句柄,由窗口句柄获得进程ID,由进程ID获得进程句柄,进而控制进程
摘要:由窗口类名、窗口标题获得窗口句柄,由窗口句柄获得进程ID,由进程ID获得进程句柄,进而控制进程。.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕.子程序 _按钮1_被单击.局部变量 窗口句柄, 整数型.局部变量 进程句柄, 整数型.局部变量 进程ID, 整数型窗口句柄 = 窗口_取窗口句柄 (“CalcFrame”, “计算器”) //“CalcFrame”,“计算器”都是通过软件获得的。进程ID = 进程_取窗口进程ID (窗口句柄, )进程句柄 = 打开进程 (进程ID)进程_暂停进程 (进程句柄) 阅读全文

posted @ 2011-06-15 09:15 wanghj_dz 阅读(1753) 评论(0) 推荐(0)

进程的若干思考
摘要:在任务管理器中查看到explore的进程ID,但是explore程序并没有打开。联想到几个问题:能看到进程ID,程序没有打开,是不是隐藏了进程呢?使用易语言的外挂作坊模块的打开进程(进程ID)命令,能打开explore程序吗?如果能打开程序,多次使用该命令,打开多个explore程序,它们都是一个进程ID吗?进程句柄肯定不一样。---------------------------------------------------------------------------------------------------------------------------终于搞清楚了:操作系统把 阅读全文

posted @ 2011-06-11 10:35 wanghj_dz 阅读(301) 评论(0) 推荐(0)

新建dll文件
摘要:新建----windows动态链接库形成一个只有程序集,没有窗口的易语言文件。注意:代码不要写在_临时子程序()中,要写在新插入的子程序中。保存的时候还是e语言文件,编译的时候就是dll文件----------------------------------------------------------------------------------mydll.e.版本 2.程序集 程序集1.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码_临时子程序 () ' 在初始化代码执行完毕后调用测试代码返回 (0) ' 返回值被忽略。.子程序 _临时子程 阅读全文

posted @ 2011-06-09 14:38 wanghj_dz 阅读(227) 评论(0) 推荐(0)

终于解决了一个困扰多日的问题:模块句柄
摘要:以前用易语言取模块句柄都是等于:4194304,而不是预期的400000,感觉很郁闷。研究多日终于发现问题所在,这是因为进制转换问题。4194304是十进制,而400000是16进制。所以代码应该如下:.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕信息框 (到文本 (进制_十到十六 (进程_取模块句柄 ())), 0, ) //精易模块----------------------------------------------------------------------------------万挂作坊教程:模块与线程 载入DLL.e.版本 2.程序集 窗口程序集1.程序集 阅读全文

posted @ 2011-06-09 12:47 wanghj_dz 阅读(565) 评论(0) 推荐(0)

客户组件实现带cookies的POST
摘要:如果(客户1.连接("e.1dos.com",80)=真)数据包=子文本替换(编辑框5.内容,“【标题】”,编辑框3.内容,,,真)数据包=子文本替换(数据包,“【内容】”,编辑框4.内容,,,真) //改造cookies的后半段中的标题和内容编辑框1.内容=子文本替换(编辑框1.内容,“【长度】”,到文本(取文本长度(数据包)),,,真) //改造cookies前半段的长度数据包=编辑框1.内容+数据包 //合成完整的cookies客户1.发送数据(数据包) //发送cookies 阅读全文

posted @ 2011-05-28 14:05 wanghj_dz 阅读(295) 评论(0) 推荐(0)

通用对话框
摘要:.版本 2.子程序 _按钮2_被单击.局部变量 所有内容, 文本型.如果真 (通用对话框1.打开 ()) 编辑框4.内容 = 通用对话框1.文件名 .如果真结束所有内容 = 到文本 (读入文件 (删首尾空(编辑框4.内容))) 阅读全文

posted @ 2011-05-28 12:52 wanghj_dz 阅读(193) 评论(0) 推荐(0)

post登录,自动发帖
摘要:.版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕图片框1.图片 = 彗星HTTP读文件 (“http://bbss.shangdu.com/Login/randomcode.jsp?fdfgjk=” + 到文本 (取现行时间 ())).子程序 _图片框1_鼠标左键被放开, 逻辑型.参数 横向位置, 整数型.参数 纵向位置, 整数型.参数 功能键状态, 整数型图片框1.图片 = 彗星HTTP读文件 (“http://bbss.shangdu.com/Login/randomcode.jsp?fdfgjk=” + 到文本 (取现行时间 ())).子程序 _按钮1_被单击.局部变量 阅读全文

posted @ 2011-05-28 12:37 wanghj_dz 阅读(2079) 评论(0) 推荐(0)

正则表达式教程
摘要:正则表达式教程:http://deerchao.net/tutorials/regex/regex.htm 阅读全文

posted @ 2011-05-27 20:10 wanghj_dz 阅读(211) 评论(0) 推荐(0)

导航