首页 > 编程 > 易语言 > 正文

易语言制作调试助手

2024-07-21 23:02:50
字体:
来源:转载
供稿:网友

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

运行结果:

易语言,调试助手

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VeVb武林网的支持。


注:相关教程知识阅读请移步到易语言教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表