c 调试易语言dll,易语言制作调试助手
DLL命令表
.版本 2
.DLL命令 窗口_FindWindowA, 整数型, "user32", "FindWindowA", , 句柄操作
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
.DLL命令 窗口_SendMessage, 整数型, , "SendMessageA", , 句柄操作
.参数 HWND
.参数 sc
.参数 z1
.参数 z2, 文本型
.DLL命令 窗口_PostMessage, 整数型, , "PostMessageA", , 句柄操作
.参数 HWND
.参数 sc
.参数 z1
.参数 z2
.DLL命令 窗口_SetParent, 整数型, "user32", "SetParent", , 句柄操作
.参数 hWndChild, 整数型
.参数 hWndNewParent, 整数型
.DLL命令 窗口_FindWindowExA, 整数型, "user32", "FindWindowExA", , 句柄操作
.参数 hWnd1, 整数型
.参数 hWnd2, 整数型
.参数 lpsz1, 文本型
.参数 lpsz2, 文本型
全局变量表
.版本 2
.全局变量 易句柄, 整数型
路径
.版本 2
.程序集 Setting
.子程序 __启动窗口_创建完毕
易句柄 = -1
.如果 (读配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_自动运行.标题, “假”) = “真”)
选择框_自动运行.选中 = 真
.否则
选择框_自动运行.选中 = 假
写配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_自动运行.标题, “假”)
.如果结束
.如果 (读配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_指定路径.标题, “假”) = “真”)
选择框_指定路径.选中 = 真
.否则
选择框_指定路径.选中 = 假
写配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_指定路径.标题, “假”)
.如果结束
.如果 (读配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_绝对路径.标题, “假”) = “真”)
选择框_绝对路径.选中 = 真
.否则
选择框_绝对路径.选中 = 假
写配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_绝对路径.标题, “假”)
.如果结束
.如果 (读配置项 (取运行目录 () + “\program.ini”, “Data”, “编译路径”, “\Debug\Program.exe”) = “\Debug\Program.exe”)
写配置项 (取运行目录 () + “\program.ini”, “Data”, “编译路径”, “\Debug\Program.exe”)
.否则
Data_Path.内容 = 读配置项 (取运行目录 () + “\program.ini”, “Data”, “编译路径”, “\Debug\Program.exe”)
_Data_Path_失去焦点 ()
.如果结束
易句柄 = 窗口_FindWindowA (“ENewFrame”, 字符 (0))
.如果 (易句柄 = 0)
.如果 (信息框 (“未找到易语言进程,是否需要进入程序设置页面?”, #是否钮, “提示:”, ) = #是钮 或 是否为调试版 ())
_启动窗口.可视 = 真
.否则
结束 ()
.如果结束
.否则
.如果 (是否为调试版 ())
_启动窗口.可视 = 真
.否则
载入 (Run, , 假)
_启动窗口.销毁 ()
信息框 (“插件加载成功”, 0, “提示:”, )
.如果结束
.如果结束
.子程序 _选择框_自动运行_被单击
写配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_自动运行.标题, 到文本 (选择框_自动运行.选中))
.子程序 _选择框_指定路径_被单击
写配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_指定路径.标题, 到文本 (选择框_指定路径.选中))
.子程序 _选择框_绝对路径_被单击
写配置项 (取运行目录 () + “\program.ini”, “Check”, 选择框_绝对路径.标题, 到文本 (选择框_绝对路径.选中))
.子程序 _Data_Path_获得焦点
Data_Path.背景颜色 = #艳青
.子程序 _Data_Path_失去焦点
Data_Path.背景颜色 = #白色
.如果 (删首尾空 (Data_Path.内容) = “” 或 寻找文本 (Data_Path.内容, “?”, , 假) > -1 或 寻找文本 (Data_Path.内容, “*”, , 假) > -1 或 寻找文本 (Data_Path.内容, “|”, , 假) > -1 或 寻找文本 (Data_Path.内容, “”, , 假) > -1)
选择框_指定路径.选中 = 假
_选择框_指定路径_被单击 ()
.如果 (易句柄 > -1)
信息框 (“路径为空或含有不合法符号”, 0, “提示:”, )
.否则
Data_Path.内容 = “”
.如果结束
.否则
.如果 (选择框_绝对路径.选中 = 假 且 寻找文本 (Data_Path.内容, “:”, , 假) > -1)
选择框_指定路径.选中 = 假
_选择框_指定路径_被单击 ()
.如果 (易句柄 > -1)
信息框 (“非绝对路径禁止使用冒号”, 0, “提示:”, )
.否则
Data_Path.内容 = “”
.如果结束
.否则
写配置项 (取运行目录 () + “\program.ini”, “Data”, “编译路径”, Data_Path.内容)
.如果结束
.如果结束
调试
.版本 2
.支持库 spec
.程序集 Running
.程序集变量 路径, 文本型
.子程序 _Run_创建完毕
.如果 (读配置项 (取运行目录 () + “\program.ini”, “Check”, “自定义程序编译写出路径”, “假”) = “真”)
路径 = 读配置项 (取运行目录 () + “\program.ini”, “Data”, “编译路径”, “\Debug\Program.exe”)
.如果 (路径 ≠ “\Debug\Program.exe”)
.如果真 (读配置项 (取运行目录 () + “\program.ini”, “Check”, “绝对路径”, “假”) ≠ “真”)
.如果真 (取文本左边 (路径, 1) ≠ “\”)
路径 = “\” + 路径
.如果真结束
路径 = 取运行目录 () + 路径
.如果真结束
.否则
路径 = 取运行目录 () + “\Debug\Program.exe”
创建目录 (取运行目录 () + “\Debug\”)
.如果结束
.否则
路径 = 取运行目录 () + “\Debug\Program.exe”
创建目录 (取运行目录 () + “\Debug\”)
.如果结束
窗口_SetParent (Run.取窗口句柄 (), 易句柄)
.子程序 _Run_将被销毁
结束 ()
.子程序 _编译按钮_被单击, , , 编译
调试_编译程序 (路径, 易句柄)
.如果真 (读配置项 (取运行目录 () + “\program.ini”, “Check”, “程序编译后自动调试运行”, “假”) = “真”)
.如果真 (文件是否存在 (路径))
.如果真 (运行 (路径, 假, ) = 假)
信息框 (“程序运行失败”, 0, “提示:”, )
.如果真结束
.如果真结束
.如果真结束
.子程序 _运行按钮_被单击, , , 运行
调试_编译程序 (路径, 易句柄)
.如果真 (文件是否存在 (路径))
.如果真 (运行 (路径, 假, ) = 假)
信息框 (“程序运行失败”, 0, “提示:”, )
.如果真结束
.如果真结束
.子程序 调试_编译程序, , 公开
.参数 编译路径, 文本型
.参数 易语言句柄, 整数型
.局部变量 编译句柄, 整数型
.局部变量 写出句柄, 整数型
调试_删除程序 (编译路径)
目录_逐级创建 (编译路径)
窗口_PostMessage (易语言句柄, 256, #F7键, 0)
窗口_PostMessage (易语言句柄, 257, #F7键, 0)
.计次循环首 (50, ) ' 5.0 秒
编译句柄 = 窗口_FindWindowA (字符 (0), “请输入欲编译到的可执行文件名:”)
延迟 (100)
.如果真 (编译句柄 > 0)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真 (编译句柄 > 0)
.计次循环首 (30, ) ' 3.0 秒
写出句柄 = 窗口_FindWindowExA (编译句柄, 0, “Edit”, 字符 (0))
延迟 (100)
.如果真 (写出句柄 > 0)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真 (写出句柄 > 0)
窗口_SendMessage (写出句柄, 12, 0, 编译路径)
写出句柄 = 窗口_FindWindowExA (编译句柄, 0, “Button”, “保存(&S)”)
.如果真 (写出句柄 > 0)
窗口_PostMessage (编译句柄, 256, #回车键, 0)
窗口_PostMessage (编译句柄, 257, #回车键, 0)
.计次循环首 (50, ) ' 5.0 秒
延迟 (100)
.如果真 (文件是否存在 (编译路径))
跳出循环 ()
.如果真结束
.计次循环尾 ()
.计次循环首 (5, ) ' 0.5 秒
编译句柄 = 窗口_FindWindowA (字符 (0), “询问:”)
延迟 (100)
.如果真 (编译句柄 > 0)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真 (编译句柄 > 0)
写出句柄 = 窗口_FindWindowExA (编译句柄, 0, “Button”, “写出(&W)”)
.如果真 (写出句柄 > 0)
窗口_PostMessage (编译句柄, 256, #回车键, 0)
窗口_PostMessage (编译句柄, 257, #回车键, 0)
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.如果真 (文件是否存在 (编译路径) = 假)
信息框 (“程序编译失败”, 0, “提示:”, )
.如果真结束
.子程序 调试_删除程序, , 公开
.参数 编译路径, 文本型
.局部变量 exe, 文本型
.局部变量 dir, 文本型
.如果真 (文件是否存在 (编译路径))
dir = 取文本左边 (编译路径, 倒找文本 (编译路径, “\”, , 假))
exe = 取文本右边 (编译路径, 取文本长度 (编译路径) - 取文本长度 (dir))
运行 (“cmd /c taskkill /f /im ” + exe, 真, 1)
删除文件 (编译路径)
.如果真 (寻找文本 (dir, 取运行目录 () + “\”, , 假) > -1)
dir = 取文本右边 (dir, 取文本长度 (dir) - 寻找文本 (编译路径, 取运行目录 () + “\”, , 假)) ' X:\xxxx\xxx\ -> xxx\
dir = 取文本左边 (dir, 寻找文本 (dir + “\”, “\”, , 假) - 1) ' xxx\ -> xxx
.如果真 (取文本右边 (dir, 1) ≠ “\”)
dir = dir + “\”
.如果真结束
删除目录 (取运行目录 () + “\” + dir)
.如果真结束
.如果真结束
.子程序 目录_逐级创建, , 公开
.参数 目录路径, 文本型
.参数 是否为网络路径, 逻辑型, 可空
.局部变量 标识, 文本型
.局部变量 文本, 文本型
.如果 (是否为网络路径)
标识 = “/”
.否则
标识 = “\”
.如果结束
.判断循环首 (寻找文本 (目录路径, 标识, 取文本长度 (文本) + 1, 假) > -1)
文本 = 取文本左边 (目录路径, 寻找文本 (目录路径, 标识, 取文本长度 (文本) + 1, 假))
创建目录 (文本)
.判断循环尾 ()
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
c 调试易语言dll,易语言制作调试助手相关推荐
- c语言调易语言dll,易语言DLL来返回文本供其他语言调用
部分简介 在使用易语言与其他语言配合编程中,有时需要使用易语言的DLL来返回文本型的值,但是由于易语言本身文本型数据不能直接返回让其他语言使用(直接使用多次会崩溃).所以这里要使用一种转换的方式,是其 ...
- 易语言 标准c 动态库,易语言Dll动态库的开发
一.关于易语言DLL 易语言Dll动态库的开发是编程当中和其他语言开发进行交互必不可少的方法之一,从易语言3.6版开始,已经能够支持对DLL动态链接库的开发, 编译出的DLL是标准的DLL,和其他编程 ...
- c 调用易语言dll字节集,易语言教程指针到字节集及dll调用
本节课示范了易语言两个高级命令指针到文本()和指针到字节集(),以及易语言dll的制作及调用. 指针到字节集 调用格式: 〈字节集〉 指针到字节集 (整数型 内存数据指针,整数型 内存数据长度) - ...
- c 内存加载易语言dll,[求助]MemoryLoadLibrary 加载MFC 易语言 DLL 失败
[求助]MemoryLoadLibrary 加载MFC 易语言 DLL 失败 2011-10-6 13:32 13431 [求助]MemoryLoadLibrary 加载MFC 易语言 DLL 失败 ...
- 易语言大漠插件模块制作后台找字FindStrFastEx
此函数比FindStrEx要快很多,尤其是在字库很大时,或者模糊识别时,效果非常明显.推荐使用此函数. 视频链接 511遇见大漠模块制作 大漠接口说明 FindStrFastEx 函数简介:同Find ...
- 易语言python_Python如何调用易语言DLL
对Python能够调用天下语言一直有所耳闻,今天试试能不能调用易语言,虽说不能调用.e文件,但至少易语言生成的dll文件应该问题不大.接下来就开始调用. 被调用的易语言dll: .版本 2 .子程序 ...
- c 调用易语言dll字节集,总结VC与易语言DLL互相调用的方法
在编写程序的时候往往需要调用到别的语言编写的DLL文件,下面先来看一下在易语言中如何调用VC编写的DLL呢,首先用VC编写一个简单的DLL文件,代码如下: int WINAPI add(int x,i ...
- 易语言注入 c dll,易语言DLL注入模块简单型
易语言DLL注入模块简单型系统结构:注入DLL,卸载DLL,提取错误标题,提取错误信息,提取错误代码,UnHookDLL,OpenProcess,VirtualAllocEx,CloseHandle, ...
- 阿里滑块 x82y x5sec本地dll 易语言
x82y x5sec本地dll 易语言调用 识别速度还行吧
最新文章
- 站覆盖范围_你了解无线覆盖范围和穿墙能力吗?别再走进这些误区了
- PHP 开发环境和组织管理
- 知识图谱( 知识图谱管理)
- 23种设计模式C++源码与UML实现--模板模式
- BZOJ 3479: [Usaco2014 Mar]Watering the Fields( MST )
- 2021快手美妆行业数据营销报告
- matplotlib图表显示中文三种办法
- Spark集群新增节点方法
- c语言原型,C语言原型模式
- python alembic which comes from SQLalchemy
- Lottie动画的使用
- PC端淘宝小程序开发记录
- Maix Bit(K210) 裸机开发教程(六)摄像头使用
- Apple自动化利器AppleScript
- 对账 java 龙果支付,龙果支付开源项目对账接口介绍
- TF卡/SD卡 异常问题,识别不了
- 神经网络的英文缩写是啥,神经网络的英文是什么
- 设计模式 模板模式和策略模式
- 区块链数字签名、验签,以及椭圆曲线算法JS库—elliptic的使用
- Python, Python, Python