易语言制作调试助手

时间:2022-03-04 15:43:29

DLL命令表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.版本 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, 文本型

全局变量表

?
1
2
.版本 2
.全局变量 易句柄, 整数型

路径

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.版本 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.内容)
  .如果结束
.如果结束

调试

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
.版本 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, 假))
  创建目录 (文本)
.判断循环尾 ()

运行结果:

易语言制作调试助手

总结

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