易语言制作调试助手

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 或 寻找文本 (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, 假))
  创建目录 (文本)
.判断循环尾 ()

运行结果:

总结

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

(0)

相关推荐

  • 易语言实现多线程计算的代码

    多线程计算 此功能需要加载精易模块5.6 .版本 2 .支持库 iext .程序集 窗口程序集1 .程序集变量 总线程id, 整数型 .程序集变量 线程判断数量, 整数型 .程序集变量 线程总数, 整数型 .程序集变量 线程id, 整数型 .程序集变量 当前表项, 整数型 .程序集变量 许可证, 整数型 .子程序 __启动窗口_创建完毕 .局部变量 i1, 整数型 .计次循环首 (10000, i1) 置随机数种子 () 超级列表框1.插入表项 (, , , , , ) 超级列表框1.置标题 (

  • 易语言制作文件夹压缩备份工具的代码

    文件夹压缩备份工具 此功能需要加载精易模块5.6 .版本 2 .支持库 shell .支持库 iext .支持库 eCompress .程序集 窗口程序集1 .程序集变量 时间戳, 文本型 .程序集变量 过滤文本, 文本型, , "0" .子程序 _文件路径按钮_被单击 .局部变量 路径, 文本型 路径 = 浏览文件夹 ("选择一个文件夹备份", 假) .判断开始 (路径 = "") 提示框 ("请选择文件夹备份!") .默认

  • 易语言EXUI支持库制作红色简约网络验证UI界面的代码

    红色简约网络验证UI界面 .版本 2 .支持库 exui .支持库 spec .程序集 窗口程序集_启动窗口 .程序集变量 用户名, 文本型 .程序集变量 状态码, 文本型 .子程序 _头像_框架_鼠标左键按下 .参数 xy坐标, 整数型 .参数 wp, 整数型 _启动窗口.发送信息 (161, 2, 0) .子程序 _选择夹EX1_鼠标左键按下 .参数 xy坐标, 整数型 .参数 wp, 整数型 _启动窗口.发送信息 (161, 2, 0) .子程序 _登录_输入账号_鼠标左键按下 .参数 x

  • 易语言鱼刺线程池拨号模板

    鱼刺线程池拨号模板 此功能需要加载精易模块5.6和鱼刺类_多线程应用模块 .版本 2 .支持库 iext .支持库 spec .程序集 窗口程序集_启动窗口 .程序集变量 thread, 鱼刺类_线程池 .程序集变量 ADSL, ADSL拨号类 .程序集变量 Adslname, 文本型, , , 宽带连接名称 .程序集变量 Adsluser, 文本型, , , 宽带账号 .程序集变量 Adslpwd, 文本型, , , 宽带密码 .程序集变量 许可 .程序集变量 拨号频率 .程序集变量 线程次数

  • 易语言提取ICO图标支持多种图像格式转换的代码

    DLL命令表 .版本 2 .DLL命令 拷贝内存_BITMAPINFOHEADER, 整数型, "kernel32", "RtlMoveMemory", , RtlMoveMemory .参数 目标数据地址, 字节集, 传址, lpvDest .参数 源数据, BITMAPINFOHEADER, 传址, lpvSource .参数 尺寸, 整数型, , 40cbCopy .DLL命令 拷贝内存_ICONFILEHEADER, 整数型, "kernel32&

  • 易语言枚举进程通过窗口句柄获取已经登录的QQ号码

    DLL命令表 .版本 2 .DLL命令 GetDesktopWindow, 整数型, "user32.dll", "GetDesktopWindow" .DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32", "CreateToolhelp32Snapshot" .参数 dwFlags, 整数型, , 0 .参数 th32ProcessIE, 整数型, , 0 .DLL命令 Proce

  • 易语言制作永恒之蓝局域网扫描器的代码

    DLL命令表 .版本 2 .DLL命令 Sleep, , "kernel32.dll", "Sleep", 公开 .参数 dwMilliseconds, 整数型 接口程序集 .版本 2 .程序集 接口程序集 .子程序 取网段, 文本型 .参数 IP地址, 文本型 返回 (取文本左边 (IP地址, 倒找文本 (IP地址, ".", , 假))) .子程序 格式化尾数, 文本型 .参数 文本, 文本型 返回 (文本替换 ("000"

  • 易语言实现文件夹加密的代码

    加密锁上文件夹 此功能需要加载精易模块5.6 .版本 2 .支持库 shell .支持库 spec .支持库 dp1 .程序集 窗口程序集1 .程序集变量 密码, 文本型 .子程序 _按钮_浏览文件_被单击 编辑框_路径.内容 = 浏览文件夹 ("打开你需要加密的文件", ) .子程序 _按钮_加密_被单击 .局部变量 文件夹名称, 文本型 .判断开始 (寻找文本 (编辑框_路径.内容, "[已加密]", , 假) ≠ -1) 提示框 ("已加密"

  • 易语言实现多线程验证代理是否有效的代码

    载入程序 .版本 2 .程序集 启动 .子程序 _启动子程序, 整数型 载入 (_主窗口, , 假) 返回 (0) 多线程的方式验证ip的代码 此功能需要加载鱼刺类_线程操作模块和鱼刺类_HTTP模块 .版本 2 .支持库 iext .程序集 主窗口程序集 .程序集变量 线程池, 鱼刺类_线程池Ex, , , 框架 .程序集变量 临界, 鱼刺类_临界许可 .程序集变量 线程, 鱼刺类_线程操作 .程序集变量 验证网址, 文本型, , , 配置 .程序集变量 验证字符串, 文本型 .程序集变量 是

  • 易语言CNA算法实现快速加密解密文件的代码

    CNA文件加解密数据算法 .版本 2 .支持库 spec .支持库 iext .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 code, 字节集, , , 加密密码 .局部变量 test, 字节集, , , 要加密码的数据字节集 .局部变量 i, 整数型, , , 查看反馈信息 ' 简单例子 test = 到字节集 ("aaaaaaa aaa.*#(中.329}@#¥") code = 到字节集 ("中.有 3a#") CNA数据 (t

  • 易语言调用whois实现域名批量查询与注册的代码

    域名批量查询注册与whois查询的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 EThread .程序集 窗口程序集_启动窗口 .子程序 _批量查询_被单击 启动线程 (&查询是否可以注册, , ) .子程序 查询是否可以注册 .局部变量 xml, 文本型 .局部变量 域名数组, 文本型, , "0" .局部变量 计次, 整数型 批量查询.禁止 = 真 批量查询.标题 = "正在查询..." 域名数组 = 分割文本 (删首尾空 (批量域名.内容)

  • 易语言注册自定义协议Register protocol

    Register protocol tencent:// thunder:// 是 腾讯 和 迅雷 的协议,即页面上或地址栏里的链接只要输入带有 tencent://- 的协议,就会自动调用一个已写好的程序执行该协议的操作. 或者是打开页面,迅雷的是下载资源的链接. 通过微软的说明,知道这是Register protocol,对于 Windows.Linux 和 OS X 操作系统都可以注册这样的协议.比如说Windows,其实只需写入注册表,即可实现协议与执行程序的关联. DLL命令表 .版本

  • 易语言解析B站直播间的地址获得弹幕内容的代码

    常量数据表 .版本 2 .常量 常量1, "<文本长度: 31>", , <span class="info-text" title=" .常量 常量2, "<文本长度: 2>", , "> .常量 常量3, "<文本长度: 19>", , http://i0.hdslb.com.常量 常量4, "<文本长度: 4>", , .

  • 易语言利用鼠标模拟点击的方式实现自动画图的代码

    DLL命令表 .版本 2 .DLL命令 PostMessageA, 整数型, "user32.dll", "PostMessageA", , 如果函数调用成功,返回非零值:如果函数调用失败,返回值是零 .参数 hWnd, 整数型, , 其窗口程序接收消息的窗口的句柄 .参数 Msg, 整数型, , 指定被寄送的消息 .参数 wParam, 整数型, , 指定附加的消息特定的信息 .参数 IParam, 整数型, , 指定附加的消息特定的信息 自动绘画的代码 此功能需

  • 易语言利用HOOK注入获取内容的代码

    DLL命令表 .版本 2 .DLL命令 RtlMoveMemory, 整数型, "kernel32.dll", "RtlMoveMemory" .参数 Destination, 整数型 .参数 Source, 整数型 .参数 Length, 整数型 .DLL命令 CreateWindowExA, 整数型 .参数 dwExStyle, 整数型 .参数 lpClassName, 文本型 .参数 lpWindowName, 文本型 .参数 dwStyle, 整数型 .参数

随机推荐