DLL命令表

.版本 2

.DLL命令 FindWindowEx, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError

.参数 hWnd1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)

.参数 hWnd2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索

.参数 lpsz1, 文本型, , 欲搜索的类名。零表示忽略

.参数 lpsz2, 文本型, , 欲搜索的类名。零表示忽略;

.DLL命令 PostMessage, 整数型, "user32", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送 如消息投递成功,则返回TRUE(非零)。会设置GetLastError

.参数 hwnd, 整数型, , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)

.参数 wMsg, 整数型, , 消息标识符

.参数 wParam, 整数型, , 具体由消息决定

.参数 lParam, 整数型, , 具体由消息决定;

.DLL命令 SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定

.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄

.参数 wMsg, 整数型, , 消息的标识符

.参数 wParam, 整数型, , 具体取决于消息

.参数 lParam, 整数型, , 具体取决于消息;

.DLL命令 GetWindowText, 整数型, "user32", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError

.参数 hwnd, 整数型, , 欲获取文字的那个窗口的句柄

.参数 lpString, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入

.参数 cch, 整数型, , lp缓冲区的长度;

.DLL命令 GetWindowTextLength, 整数型, "user32", "GetWindowTextLengthA", , 调查窗口标题文字或控件内容的长短(在vb里使用:直接使用vb窗体或控件的caption或text属性) 字串长度,不包括空中止字符

.参数 hwnd, 整数型, , 想调查文字长度的窗口的句柄;

.DLL命令 IsWindow, 整数型, "user32", "IsWindow", , 判断一个窗口句柄是否有效 非零表示成功,零表示失败

.参数 hwnd, 整数型, , 待检查窗口的句柄;

.DLL命令 GetClassName, 整数型, "user32", "GetClassNameA", , 为指定的窗口取得类名 以字节数表示的类名长度;排除最后的空中止字符。零表示出错。会设置GetLastError

.参数 hwnd, 整数型, , 欲获得类名的那个窗口的句柄

.参数 lpClassName, 文本型, , 随同类名载入的缓冲区。预先至少必须分配nMaxCount+1个字符

.参数 nMaxCount, 整数型, , 由lpClassName提供的缓冲区长度;

.DLL命令 SetForegroundWindow, 整数型, "user32", "SetForegroundWindow", , 将窗口设为系统的前台窗口。这个函数可用于改变用户目前正在操作的应用程序 非零表示成功,零表示失败。会设置GetLastError

.参数 hwnd, 整数型, , 带到前台的窗口;

.DLL命令 SetFocus, 整数型, "user32", "SetFocus", , 设置键盘焦点 前一个拥有焦点的窗口的句柄

.参数 hwnd, 整数型, , 准备接收焦点的窗口的句柄

.DLL命令 keybd_event, , "user32", "keybd_event", , 这个函数模拟了键盘行动

.参数 bVk, 字节型, , 欲模拟的虚拟键码

.参数 bScan, 字节型, , 键的OEM扫描码

.参数 dwFlags, 整数型, , 零;或设为下述两个标志之一;KEYEVENTF_EXTENDEDKEY:指出是一个扩展键,而且在前面冠以0xE0代码;KEYEVENTF_KEYUP:模拟松开一个键

.参数 dwExtraInfo, 整数型, , 通常不用的一个值。api函数GetMessageExtraInfo可取得这个值。允许使用的值取决于特定的驱动程序;

.DLL命令 IsIconic, 整数型, "user32", "IsIconic", , 判断窗口是否已最小化 非零表示成功,零表示失败

.参数 hwnd, 整数型, , 待检测窗口的句柄;

.DLL命令 MessageBox, 整数型, "user32", "MessageBoxA", , 建立消息框窗体

.参数 hwnd, 整数型

.参数 lpText, 文本型

.参数 lpCaption, 文本型

.参数 wType, 整数型

常量数据表

.版本 2

.常量 易菜单命令_复制, "57634"

.常量 易菜单命令_粘贴, "57637"

.常量 易菜单命令_跳转, "32793"

.常量 WM_COMMAND, "273"

.常量 WM_CHAR, "258", , //按下某键,并已发出WM_KEYDOWN, WM_KEYUP消息

.常量 WM_KEYDOWN, "256", , //按下一个键

.常量 WM_KEYFIRST, "256"

.常量 WM_KEYUP, "257", , //释放一个键

.常量 EM_SETSEL, "177"

.常量 VK_CONTROL, "17"

.常量 VK_A, "65"

.常量 WM_LBUTTONDOWN, "513"

.常量 WM_LBUTTONDBLCLK, "515"

.常量 WM_LBUTTONUP, "514"

.常量 WM_MOUSEMOVE, "512"

.常量 KEYEVENTF_KEYUP, "2"

.常量 KEYEVENTF_EXTENDEDKEY, "1"

.常量 WM_SYSCOMMAND, "274"

.常量 SC_RESTORE, "61728"

.常量 EM_GETLINECOUNT, "186"

易语言代码统计

此功能需要加载 树型框操作类模块 1.2

.版本 2

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

取易IDE ()

.子程序 __启动窗口_尺寸被改变

IDE组合框.宽度 = 取用户区宽度 () - IDE组合框.左边 - 8

统计按钮.左边 = 取用户区宽度 () - 统计按钮.宽度 - 8

刷新按钮.左边 = 统计按钮.左边 - 统计按钮.宽度 - 8

统计编辑框.移动 (, , 取用户区宽度 () - 16, 取用户区高度 () - 统计编辑框.顶边 - 8)

.子程序 _刷新按钮_被单击

取易IDE ()

.子程序 _统计按钮_被单击

.局部变量 hWnd, 整数型

hWnd = IDE组合框.取项目数值 (IDE组合框.现行选中项)

.如果真 (IsWindow (hWnd) = 0)

取易IDE ()

MessageBox (取窗口句柄 (), “请选择已打开的易IDE进行统计”, “提示”, 64)

IDE组合框.获取焦点 ()

返回 ()

.如果真结束

统计易代码 (hWnd)

.子程序 取易IDE

.局部变量 hWnd, 整数型

.局部变量 strText, 文本型

.局部变量 n, 整数型

IDE组合框.清空 ()

hWnd = FindWindowEx (0, 0, “ENewFrame”, 字符 (0))

.判断循环首 (hWnd ≠ 0)

n = GetWindowTextLength (hWnd) + 1

strText = 取空白文本 (n)

GetWindowText (hWnd, strText, n)

IDE组合框.加入项目 (strText, hWnd)

hWnd = FindWindowEx (0, hWnd, “ENewFrame”, 字符 (0))

.判断循环尾 ()

.子程序 统计易代码

.参数 hWndEFrame, 整数型

.局部变量 hTreeView, 整数型

.局部变量 hMDIClient, 整数型

.局部变量 hEdit, 整数型

.局部变量 树型框, 树型框句柄操作类

.局部变量 n

.局部变量 i

.局部变量 p

.局部变量 x

.局部变量 ApiP, 整数型

.局部变量 Api, 整数型

.局部变量 strText, 文本型

.局部变量 strCode, 文本型

.如果真 (IsWindow (hWndEFrame) = 0)

返回 ()

.如果真结束

hTreeView = 查找程序数据树型框 (hWndEFrame)

hMDIClient = 查找客户区 (hWndEFrame)

ApiP = -1

连续赋值 (真, 刷新按钮.禁止, 统计按钮.禁止, IDE组合框.禁止)

统计标签.标题 = “正在统计...”

统计编辑框.内容 = “”

处理事件 ()

.如果真 (hTreeView ≠ 0 且 hMDIClient ≠ 0)

.如果真 (IsIconic (hWndEFrame) ≠ 0) ' 判断窗口是否已最小化

SendMessage (hWndEFrame, #WM_SYSCOMMAND, #SC_RESTORE, 0)

.如果真结束

SetForegroundWindow (hWndEFrame)

处理事件 ()

.如果真 (树型框._初始化类 (hTreeView, 真))

树型框.置自动更新状态 (假)

n = 树型框.数据_取项目数 ()

.计次循环首 (n, i)

p = 树型框.数据_取父项目 (i - 1)

.如果真 (p = 0)

strText = 树型框.数据_取项目文本 (i - 1)

.如果真 (寻找文本 (“资源表|模块引用表|窗口”, strText, , 假) = -1)

统计标签.标题 = “正在统计:” + strText

处理事件 ()

树型框.动作_保证显示 (i - 1)

树型框.数据_现行选中项_置 (i - 1)

SendMessage (hWndEFrame, #WM_COMMAND, #易菜单命令_跳转, 0)

延时 (200)

hEdit = 查找编辑区 (hMDIClient, strText)

.如果真 (hEdit ≠ 0)

SetFocus (hEdit)

发送全选命令 (hEdit)

置剪辑板文本 (“”)

处理事件 ()

延时 (200)

SendMessage (hWndEFrame, #WM_COMMAND, #易菜单命令_复制, 0)

strCode = strCode + 取剪辑板文本 () + #换行符

.如果真结束

.如果真结束

.如果 (strText = “Dll命令”)

ApiP = i - 1

.否则

.如果结束

.如果真结束

.如果真 (p = ApiP)

Api = Api + 1

.如果真结束

.计次循环尾 ()

.如果真结束

.如果真结束

处理易代码 (strCode)

统计编辑框.内容 = strCode

置剪辑板文本 (“”)

n = 统计编辑框.发送信息 (#EM_GETLINECOUNT, 0, 0)

统计标签.标题 = “共有代码 ” + 到文本 (n) + “ 行”

.如果真 (Api > 0)

统计标签.标题 = 统计标签.标题 + “,使用API ” + 到文本 (Api) + “ 个”

.如果真结束

SetForegroundWindow (取窗口句柄 ())

连续赋值 (假, 刷新按钮.禁止, 统计按钮.禁止, IDE组合框.禁止)

.子程序 处理易代码

.参数 strCode, 文本型, 参考

.局部变量 n, 整数型

strCode = 子文本替换 (strCode, “.版本 2” + #换行符, “”, , , 真)

.判断循环首 (寻找文本 (strCode, #换行符 + #换行符, , 假) ≠ -1)

strCode = 子文本替换 (strCode, #换行符 + #换行符, #换行符, , , 真)

.判断循环尾 ()

strCode = “.版本 2” + #换行符 + #换行符 + strCode

.子程序 发送全选命令

.参数 hWnd, 整数型

.局部变量 lParam

keybd_event (#VK_CONTROL, 0, 0, 0)

keybd_event (#VK_A, 0, 0, 0)

keybd_event (#VK_CONTROL, 0, #KEYEVENTF_KEYUP, 0)

keybd_event (#VK_A, 0, #KEYEVENTF_KEYUP, 0)

延时 (200)

.子程序 查找程序数据树型框, 整数型

.参数 hWndEFrame, 整数型

.局部变量 hPrent, 整数型

.局部变量 hWnd, 整数型

.局部变量 List, 整数型, , "0"

.局部变量 ClassName, 文本型

.局部变量 树型框, 树型框句柄操作类

加入成员 (List, hWndEFrame)

.判断循环首 (取数组成员数 (List) > 0)

hPrent = List [1]

删除成员 (List, 1, 1)

hWnd = FindWindowEx (hPrent, 0, 字符 (0), 字符 (0))

.判断循环首 (hWnd ≠ 0)

加入成员 (List, hWnd)

ClassName = 取空白文本 (255)

GetClassName (hWnd, ClassName, 255)

.如果真 (ClassName = “SysTreeView32”)

.如果真 (树型框._初始化类 (hWnd, 真))

.如果真 (树型框.数据_取项目文本 (0) = “程序数据”)

返回 (hWnd)

.如果真结束

.如果真结束

.如果真结束

hWnd = FindWindowEx (hPrent, hWnd, 字符 (0), 字符 (0))

.判断循环尾 ()

.判断循环尾 ()

返回 (0)

.子程序 查找客户区, 整数型, , MDIClient

.参数 hWndEFrame, 整数型

.局部变量 hPrent, 整数型

.局部变量 hWnd, 整数型

.局部变量 List, 整数型, , "0"

.局部变量 ClassName, 文本型

.局部变量 树型框, 树型框句柄操作类

加入成员 (List, hWndEFrame)

.判断循环首 (取数组成员数 (List) > 0)

hPrent = List [1]

删除成员 (List, 1, 1)

hWnd = FindWindowEx (hPrent, 0, 字符 (0), 字符 (0))

.判断循环首 (hWnd ≠ 0)

加入成员 (List, hWnd)

ClassName = 取空白文本 (255)

GetClassName (hWnd, ClassName, 255)

.如果真 (ClassName = “MDIClient”)

返回 (hWnd)

.如果真结束

hWnd = FindWindowEx (hPrent, hWnd, 字符 (0), 字符 (0))

.判断循环尾 ()

.判断循环尾 ()

返回 (0)

.子程序 查找编辑区, 整数型, , 在客户区里查找当前编辑的窗口

.参数 hMDIClient, 整数型

.参数 strWindowText, 文本型

.局部变量 hWnd, 整数型

.局部变量 strText, 文本型

.局部变量 ClassName, 文本型

.局部变量 n, 整数型

.局部变量 hPrent, 整数型

.局部变量 hAfx, 整数型

hWnd = FindWindowEx (hMDIClient, 0, 字符 (0), 字符 (0))

n = GetWindowTextLength (hWnd) + 1

strText = 取空白文本 (n)

GetWindowText (hWnd, strText, n)

.如果真 (寻找文本 (strText, strWindowText, , 假) ≠ -1)

hPrent = FindWindowEx (hWnd, 0, 字符 (0), 字符 (0))

.如果真 (hPrent ≠ 0)

hWnd = FindWindowEx (hPrent, 0, 字符 (0), 字符 (0))

.判断循环首 (hWnd ≠ 0)

ClassName = 取空白文本 (255)

GetClassName (hWnd, ClassName, 255)

.如果真 (取文本左边 (ClassName, 4) = “Afx:”)

hAfx = hWnd

跳出循环 ()

.如果真结束

hWnd = FindWindowEx (hPrent, hWnd, 字符 (0), 字符 (0))

.判断循环尾 ()

.如果真结束

.如果真结束

.如果真 (hAfx ≠ 0)

hAfx = FindWindowEx (hAfx, 0, 字符 (0), 字符 (0))

.如果真结束

返回 (hAfx)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

易语言php统计代码,易语言统计代码行数与API的工具相关推荐

  1. 进阶指令——wc指令【作用:统计文件内容信息(包含行数、单词数、字节数)】、date指令【作用:表示操作时间日期(读取、设置)】、cal指令【作用:用来操作日历的】、clear/ctrl + L指令

    6.wc指令 作用:统计文件内容信息(包含行数.单词数.字节数) 语法:#wc -l                wc 需要统计的文件路径 -l:表示lines,行数 -w:表示words,单词数 ...

  2. EXCEL使用技巧-数据统计——统计指定sheet非空内容行数、指定内容在指定列出现次数

    1.统计指定sheet非空内容行数 =COUNTA(sheet名称!E2:E1000) 2.统计指定sheet页指定内容在指定列出现次数 =COUNTIF(sheet名称!F:F,"PASS ...

  3. Linux下统计某个目录下所有源代码行数的Shell脚本

    PS: 找到一个简单的方法: wc -l `find ./ -name "*.c"` wc -l `find ./ -name "*.h"` 其他语言也类似: ...

  4. 亲测,openxlpy和xlrd 统计excel的总行数,删除最后几行,再统计的话,还是原来的行数

    xlrd的: sExcelFile = luJing + "\物料名称.xls" self.file = sExcelFile self.data = xlrd.open_work ...

  5. 使用BEAGLE发生错误的解决办法ERROR: invalid ALT allele at 1:3439801 [-] /Linux下统计文件某元素出现的行数/Linux下删除包含某元素的行

    在使用BEAGLE5.0版本填补基因型时,遇到这样一个问题: 接着在网上搜索了一下解决办法,在biostar上看到有人遇到了同样的问题,有人建议使用BEAGLE4.0版本,我尝试后仍然没有解决问题.然 ...

  6. 输入n行的杨辉三角java,杨辉三角 Java代码 可以根据输入 输出相应行数的杨辉三角...

    /** * @see 打印出杨辉三角形(这是用的多维数组的形式,也可以根据公式计算),输出样式已经进行了调整 */ class YangHuiSanJiao { public static void ...

  7. pythonc代码_Python实现C代码统计工具(一)

    Python实现C代码统计工具(一) 标签: Python 代码统计 声明 本文将基于Python2.7脚本语言,实现一个简易的C代码统计工具. 本文同时也发布于作业部落,视觉效果略有不同. 一. 问 ...

  8. 【Python】72行实现代码行数统计,简单实用~

    0. 前言 最近突然想知道自己总共写了多少行代码,于是做了这样一个小工具-- 1. 准备工作 先考虑一下希望得到的效果: Language(语言) Lines(代码行数) Size(代码文件总大小) ...

  9. GO语言-第一节-初识Go语言

    目录 1.1 语言简史 1.2 语言特性 1.2.1 自动垃圾回收 1.2.2 更丰富的内置类型 1.2.3 函数多返回值 1.2.4 错误处理 1.2.5 匿名函数和闭包 1.2.7 并发编程 1. ...

最新文章

  1. 开源-一步步实现cnblogs博客采集工具-对项目需求的分析
  2. 2015/6/1站立会议(补发)
  3. Statement与PreparedStatement区别
  4. navicat中文版安装
  5. bootstrap-导航条反色的导航条
  6. MySQL索引背后的数据结构及算法原理----惊叹的深入
  7. 四大基本反应类型的关系_如何进入四大的咨询部门?
  8. 【Spring】21、用spring目标对象处理Transaction rolled back because it has been marked as rollback-only...
  9. python创建文件对象的函数_Python 文件对象常用内建方法
  10. VS中添加新项 数据选项卡下没有ADO.NET实体数据模型解决方案
  11. sql boolean类型_零编程基础转行数据分析,先学SQL还是先学Python?
  12. 计算机专业介绍课件,计算机专业介绍课件
  13. [LTE 资源分配方法]资源池 resource pools
  14. java抖音字符视频_java爬取新版抖音无水印视频教程(2020/09/14附带java代码)
  15. 任务管理器已被管理员禁用win10
  16. 国家一级职业资格证书 计算机类有哪些
  17. 退款java_APP支付 + 退款(JAVA实现)
  18. HbuilderX 启动微信小程序 无法打开项目
  19. 在framework下新建系统api
  20. 重磅发布:史上首份揭秘微信公众号用户行为习惯研究报告

热门文章

  1. are exo exo是什么歌 we_We Are One EXO!
  2. Charles手机的代理配置与证书的安装
  3. web开发常用js及html代码(待整理)
  4. uniapp地图轨迹回放
  5. ps插件 Ultimate Retouch Panel AEX for mac破解版
  6. 源文件如何一步步到可执行程序【程序员必修课】
  7. JS基础-事件模型(事件事件流自定义事件事件冒泡/代理)
  8. 学习笔记——VMware网络桥接的几个问题(有配置问题的值得一看)
  9. php curl发邮件,使用PHP cURL通过Mailgun API发送带附件的电子邮件
  10. android 怎么看架构,怎么查看手机设备架构