温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

易语言如何制作调试助手

发布时间:2021-06-16 15:29:58 来源:亿速云 阅读:160 作者:小新 栏目:编程语言

这篇文章主要介绍易语言如何制作调试助手,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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

运行结果:

易语言如何制作调试助手

以上是“易语言如何制作调试助手”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI