分享一款易语言开发的微信加群软件,利用了协议技术,当然协议技术我们是不会公开的,只提供部分代码,供大家参考,下面是软件的界面!
公开的代码段:
.版本 2
.支持库 iext
.程序集 窗口程序集_启动窗口
.程序集变量 m, 整数型
.程序集变量 n, 整数型
.程序集变量 t0, 文本型
.子程序 __启动窗口_创建完毕, , , ' 本源码来自三叶资源网(www.sanye.cx)
m = 0 ' 本源码来自三叶资源网(www.sanye.cx)
n = 0
.子程序 GetCFHTML, 整数型
.参数 html, 文本型
.局部变量 URL, 文本型
.局部变量 start_html_offset, 整数型
.局部变量 end_html_offset, 整数型
.局部变量 start_fragment_offset, 整数型
.局部变量 end_fragment_offset, 整数型
.局部变量 result, 文本型
.局部变量 hMem, 整数型
.局部变量 lpMem, 整数型
' 代码参考自CEF示例代码中 特别鄙视MSDN提供错误的文档
URL = “about:blank”
start_html_offset = #header_len + 取文本长度 (URL) + 2
start_fragment_offset = start_html_offset + 取文本长度 (#start_markup)
end_fragment_offset = start_fragment_offset + 取文本长度 (html)
end_html_offset = end_fragment_offset + 取文本长度 (#end_markup)
result = 子文本替换 (#header, “%StartHTML%”, 数字 (start_html_offset), , 1, 真)
result = 子文本替换 (result, “%EndHTML%”, 数字 (end_html_offset), , 1, 真)
result = 子文本替换 (result, “%StartFragment%”, 数字 (start_fragment_offset), , 1, 真)
result = 子文本替换 (result, “%EndFragment%”, 数字 (end_fragment_offset), , 1, 真)
result = 子文本替换 (result, “%SourceURL%”, URL, , 1, 真)
result = result + #换行符 + #start_markup + html + #end_markup
输出调试文本 (result)
hMem = GlobalAlloc (#GHND, 取文本长度 (result) + 1)
.如果真 (hMem ≠ 0)
lpMem = GlobalLock (hMem)
.如果真 (lpMem ≠ 0)
写到内存 (result, lpMem, )
GlobalUnlock (hMem)
.如果真结束
.如果真结束
返回 (hMem)
.子程序 数字, 文本型
.参数 int, 整数型
返回 (取文本右边 (“0000000000” + 到文本 (int), 10))
.子程序 程序等待
.参数 等待时间, 整数型, , 时间单位为毫秒,1000毫秒=1秒!
.局部变量 时间, 整数型
时间 = 取启动时间 ()
.循环判断首 ()
处理事件 ()
延时 (10) ' 默认为10毫秒,这个值,可以根据程序需要修改。
.循环判断尾 (取启动时间 () - 时间 < 等待时间)
.子程序 GetText, 整数型
.参数 text, 文本型
.局部变量 hMem, 整数型
.局部变量 lpMem, 整数型
hMem = GlobalAlloc (#GHND, 取文本长度 (text) + 1)
.如果真 (hMem ≠ 0)
lpMem = GlobalLock (hMem)
.如果真 (lpMem ≠ 0)
写到内存 (text, lpMem, )
GlobalUnlock (hMem)
.如果真结束
.如果真结束
返回 (hMem)
.子程序 wxPM, , , 把剪贴板内容头投递到微信里面
.参数 hwnd, 整数型, , 微信群窗口句柄
.局部变量 tid, 整数型
.局部变量 key, 字节型, , "256"
tid = GetWindowThreadProcessId (hwnd, 0) ' 获取微信窗口进程标识
AttachThreadInput (GetCurrentThreadId (), tid, 1) ' 注入线程,共享消息队列,
GetKeyboardState (key) ' 取得键盘上每个虚拟键当前的状态
key [18] = 128 ' 按下ctrl
SetKeyboardState (key) ' 设置每个虚拟键当前在键盘上的状态
PostMessageA (hwnd, #WM_KEYDOWN, #V键, 0) ' 触发按下V键
PostMessageA (hwnd, #WM_KEYUP, #V键, 0) ' 触发弹起V键
延时 (1000) ' 本源码来自三叶资源网(www.sanye.cx)
key [18] = 0 ' 放开ctrl
SetKeyboardState (key) ' 设置每个虚拟键当前在键盘上的状态
PostMessageA (hwnd, #WM_KEYDOWN, #回车键, 0) ' 触发按下回车键
PostMessageA (hwnd, #WM_KEYUP, #回车键, 0)
.子程序 _导入表格_被单击
.局部变量 EXCEL, EXCEL类
.局部变量 行数
.局部变量 i, 整数型
.局部变量 文件名, 文本型
.局部变量 t1, 文本型
.局部变量 t2, 文本型
.局部变量 t3, 文本型
.局部变量 t4, 文本型
.局部变量 t5, 文本型
.局部变量 t6, 文本型
.局部变量 t7, 文本型
.局部变量 t8, 文本型
t1 = 编辑框01.内容
t2 = 编辑框02.内容
t3 = 编辑框03.内容
t4 = 编辑框04.内容
t5 = 编辑框05.内容
t6 = 编辑框06.内容
t7 = 编辑框07.内容
t8 = 编辑框08.内容
t0 = t1
.如果 (通用对话框1.打开 ())
文件名 = 通用对话框1.文件名
.否则
返回 ()
.如果结束
导入表格.标题 = “导入中...”
超级列表框1.全部删除 ()
超级列表框1.禁止重画 ()
EXCEL.创建 ()
EXCEL.打开EXCEL (文件名) ' (取运行目录 () + “\test.xls”)
EXCEL.取行数列数 (行数)
.计次循环首 (行数 - 1, i)
超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (i - 1, 0, EXCEL.读单元格文本 (“B” + 到文本 (i + 1)))
超级列表框1.置标题 (i - 1, 1, EXCEL.读单元格文本 (“C” + 到文本 (i + 1)))
超级列表框1.置标题 (i - 1, 2, EXCEL.读单元格文本 (“F” + 到文本 (i + 1)))
超级列表框1.置标题 (i - 1, 3, EXCEL.读单元格文本 (“Y” + 到文本 (i + 1)))
超级列表框1.置标题 (i - 1, 4, EXCEL.读单元格文本 (“Z” + 到文本 (i + 1)))
.如果 (寻找文本 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), “无条件券”, 1, 假) > 0)
超级列表框1.置标题 (i - 1, 5, 到文本 (到数值 (EXCEL.读单元格文本 (“F” + 到文本 (i + 1))) - 到数值 (取文本左边 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), 寻找文本 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), “元”, 1, 假) - 1))))
t0 = t0 + t2 + EXCEL.读单元格文本 (“C” + 到文本 (i + 1)) + t3 + EXCEL.读单元格文本 (“B” + 到文本 (i + 1)) + t4 + “【在售价】” + EXCEL.读单元格文本 (“F” + 到文本 (i + 1)) + “元” + t4 + “【券后价】” + 到文本 (到数值 (EXCEL.读单元格文本 (“F” + 到文本 (i + 1))) - 到数值 (取文本左边 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), 寻找文本 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), “元”, 1, 假) - 1))) + “元” + t4 + “【淘口令】” + EXCEL.读单元格文本 (“Y” + 到文本 (i + 1)) + t4 + “【下单链接】” + t5 + EXCEL.读单元格文本 (“Z” + 到文本 (i + 1)) + t6 + EXCEL.读单元格文本 (“Z” + 到文本 (i + 1)) + t7
.否则
超级列表框1.置标题 (i - 1, 5, 到文本 (到数值 (EXCEL.读单元格文本 (“F” + 到文本 (i + 1))) - 到数值 (取文本中间 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), 寻找文本 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), “减”, 1, 假) + 2, 取文本长度 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1))) - 寻找文本 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), “减”, 1, 假) - 3))))
t0 = t0 + t2 + EXCEL.读单元格文本 (“C” + 到文本 (i + 1)) + t3 + EXCEL.读单元格文本 (“B” + 到文本 (i + 1)) + t4 + “【在售价】” + EXCEL.读单元格文本 (“F” + 到文本 (i + 1)) + “元” + t4 + “【券后价】” + 到文本 (到数值 (EXCEL.读单元格文本 (“F” + 到文本 (i + 1))) - 到数值 (取文本中间 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), 寻找文本 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), “减”, 1, 假) + 2, 取文本长度 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1))) - 寻找文本 (EXCEL.读单元格文本 (“U” + 到文本 (i + 1)), “减”, 1, 假) - 3))) + “元” + t4 + “【淘口令】” + EXCEL.读单元格文本 (“Y” + 到文本 (i + 1)) + t4 + “【下单链接】” + t5 + EXCEL.读单元格文本 (“Z” + 到文本 (i + 1)) + t6 + EXCEL.读单元格文本 (“Z” + 到文本 (i + 1)) + t7
.如果结束
.计次循环尾 ()
t0 = t0 + t8
' EXCEL.保存 ()
EXCEL.关闭工作薄 ()
EXCEL.退出 ()
超级列表框1.允许重画 ()
分组框1.标题 = “第一步:导入数据(共” + 到文本 (超级列表框1.取表项数 ()) + “个商品)”
导入表格.可视 = 假
来源:oschina
链接:https://my.oschina.net/u/4375296/blog/4256780