易语言QQ群发支持图片文字数据一起发送的工具
DLL命令表
.版本 2 .DLL命令 OpenClipboard, 逻辑型, "user32", "OpenClipboard", , 打开CLIPBOARD .参数 hwnd, 整数型 .DLL命令 GetClipboardData, 整数型, "user32", "GetClipboardData", , 返回剪贴板数据的句柄 .参数 wFormat, 整数型 .DLL命令 RegisterClipboardFormat, 整数型, "user32", "RegisterClipboardFormatA", , 登记新的CLIPBOARD格式 .参数 lpString, 文本型 .DLL命令 GlobalSize, 整数型, "kernel32", "GlobalSize", , 返回全局内存块大小 .参数 hMem, 整数型 .DLL命令 GlobalLock, 整数型, "kernel32", "GlobalLock", , 锁定内存对象并返回一个指针 .参数 hMem, 整数型 .DLL命令 CloseClipboard, 整数型, "user32", "CloseClipboard", , 关闭剪贴板 .DLL命令 GlobalAlloc, 整数型, "kernel32", "GlobalAlloc", , 在堆中分配内存 .参数 wFlags, 整数型 .参数 dwBytes, 整数型 .DLL命令 GlobalUnlock, 整数型, "kernel32", "GlobalUnlock", , 开锁全局内存块 .参数 hMem, 整数型 .DLL命令 EmptyClipboard, 逻辑型, "user32", "EmptyClipboard", , 清空剪贴板并释放数据句柄 .DLL命令 SetClipboardData, 整数型, "user32", "SetClipboardData", , 设置剪贴板中数据 .参数 wFormat, 整数型 .参数 hMem, 整数型 .DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread", , 创建一个新的线程,创建完毕会立即返回。成功则返回新线程的句柄,零表示失败 .参数 lpThreadAttributes, 整数型, , 指向一个SECURITY_ATTRIBUTES结构,主要用来指定句柄是否可以被继承,如果让线程使用默认的安全属性,可以将此值设为 NULL .参数 dwStackSize, 整数型, , 线程堆栈大小,如果为0,那么线程的堆栈大小和主线程使用的大小相同 .参数 lpStartAddress, 子程序指针, , 线程的开始执行地址,指向一个新线程函数(过程)的指针 .参数 lpParameter, 整数型, , 传递给自定义参数,传递给子线程的参数,0为无限止 .参数 dwCreationFlags, 整数型, , 设置线程被创建后的状态,如果为0表示,创建后立即运行,如果为CREATE_SUSPENDED标志,表示线程被创建后处于挂志状态,直到使用ResumeThread函数显式地启动线程为止 .参数 lpThreadId, 整数型, , 指向一个双字节变量,用来接收函数返回的线程ID.线程ID在系统范围内是唯一的.
常量数据表
.版本 2 .常量 Fmt_Head, "<文本长度: 46>", , <QQRichEditFormat><Info version="1001"></Info> .常量 Str_Head, "<文本长度: 31>", , <EditElement type="0"><![CDATA[ .常量 Img_Head, "<文本长度: 32>", , <EditElement type="1" filepath=" .常量 Img_End, "<文本长度: 28>", , " shortcut=""></EditElement> .常量 Face_Head, "<文本长度: 36>", , <EditElement type="2" sysfaceindex=" .常量 Face_End, "<文本长度: 40>", , " filepath="" shortcut=""></EditElement> .常量 GMEM_MOVEABLE, "2" .常量 GMEM_ZEROINIT, "64"
QQ群发助手
此功能需要加载精易模块5.6
.版本 2 .支持库 eAPI .支持库 iext .程序集 窗口程序集1 .程序集变量 聊天句柄数组, 整数型, , "0" .程序集变量 线程句柄, 整数型 .程序集变量 停止, 逻辑型 .程序集变量 QQ剪辑板标志, 整数型 .子程序 _添加文本按钮_被单击 .局部变量 Str, 文本型 .如果真 (输入框 (“请输入文本”, “输入框”, “请输入内容[QQ剪辑板格式]”, Str, #输入文本)) 列表框1.加入项目 (Str, 0) .如果真结束 .子程序 __启动窗口_创建完毕 QQ剪辑板标志 = RegisterClipboardFormat (“QQ_RichEdit_Format”) .子程序 _添加图片按钮_被单击 .如果真 (通用对话框1.打开 ()) 列表框1.加入项目 (通用对话框1.文件名, 1) .如果真结束 .子程序 _添加表情按钮_被单击 .局部变量 Str, 整数型 .如果真 (输入框 (“表情代码[整数]”, “输入框”, “请输入表情代码”, Str, #输入整数)) 列表框1.加入项目 (到文本 (Str), 2) .如果真结束 .子程序 _合成置入按钮_被单击 .局部变量 Str, 文本型 .局部变量 mStr, 整数型 .局部变量 lpMem, 整数型 .如果真 (列表框1.取项目数 () = 0) 信息框 (“数据不能为空”, 0, ) .如果真结束 Str = 合成QQ剪辑板代码 () mStr = GlobalAlloc (位或 (#GMEM_MOVEABLE, #GMEM_ZEROINIT), 取文本长度 (Str) + 1) .如果真 (mStr ≠ 0) lpMem = GlobalLock (mStr) .如果真 (lpMem ≠ 0) 写到内存 (Str, lpMem, ) GlobalUnlock (mStr) .如果真 (mStr ≠ 0) .如果真 (OpenClipboard (0)) .如果真 (EmptyClipboard ()) SetClipboardData (QQ剪辑板标志, mStr) .如果真结束 CloseClipboard () .如果真结束 .如果真结束 .如果真结束 .如果真结束 .子程序 合成QQ剪辑板代码, 文本型 .局部变量 Code, 文本型 .局部变量 i, 整数型 Code = #Fmt_Head .计次循环首 (列表框1.取项目数 (), i) .判断开始 (列表框1.取项目数值 (i - 1) = 0) ' 文本 Code = Code + #Str_Head + 列表框1.取项目文本 (i - 1) + “]]></EditElement>” .判断 (列表框1.取项目数值 (i - 1) = 1) ' 图片 Code = Code + #Img_Head + 列表框1.取项目文本 (i - 1) + #Img_End .判断 (列表框1.取项目数值 (i - 1) = 2) ' 系统表情 Code = Code + #Face_Head + 列表框1.取项目文本 (i - 1) + #Face_End .默认 .判断结束 .计次循环尾 () Code = Code + “</QQRichEditFormat>” 返回 (Code) .子程序 发消息 .局部变量 计次, 整数型 .判断循环首 (取反 (停止)) 清除数组 (聊天句柄数组) 获取并过滤窗口信息 () .计次循环首 (取数组成员数 (聊天句柄数组), 计次) 窗口_总在最前 (聊天句柄数组 [计次], 真) 模拟按键 (#Ctrl键, #V键, ) 程序_延时 (1000) 键盘_消息 (聊天句柄数组 [计次], #回车键, 5) 窗口_总在最前 (聊天句柄数组 [计次], 假) 程序_延时 (1500) .计次循环尾 () 程序_延时 (到整数 (间隔时间编辑框.内容) × 1000) .判断循环尾 () .子程序 获取并过滤窗口信息 .局部变量 数组, 整数型, , "0" .局部变量 计次, 整数型 .局部变量 索引, 整数型 .局部变量 A, 整数型 A = 0 窗口_枚举子窗口 (, 数组, “TXGuiFoundation”) 超级列表框1.全部删除 () .计次循环首 (取数组成员数 (数组), 计次) .如果真 (窗口_是否可见 (数组 [计次])) .如果真 (窗口_取标题 (数组 [计次]) ≠ “QQ”) .如果真 (窗口_取标题 (数组 [计次]) ≠ “腾讯微云”) .如果真 (窗口_取标题 (数组 [计次]) ≠ “查找”) .如果真 (窗口_取标题 (数组 [计次]) ≠ “系统设置”) .如果真 (窗口_取标题 (数组 [计次]) ≠ “消息管理器”) .如果真 (窗口_取标题 (数组 [计次]) ≠ “应用宝”) .如果真 (倒找文本 (窗口_取标题 (数组 [计次]), “的资料”, , 假) = -1) .如果真 (倒找文本 (窗口_取标题 (数组 [计次]), “的 收藏”, , 假) = -1) .如果真 (倒找文本 (窗口_取标题 (数组 [计次]), “的 文件助手”, , 假) = -1) A = A + 1 索引 = 超级列表框1.插入表项 (0, 到文本 (A), 1, , , ) 超级列表框1.置标题 (索引, 1, 窗口_取标题 (数组 [计次])) 加入成员 (聊天句柄数组, 数组 [计次]) .如果真结束 .如果真结束 .如果真结束 .如果真结束 .如果真结束 .如果真结束 .如果真结束 .如果真结束 .如果真结束 .如果真结束 .计次循环尾 () .子程序 _发送按钮_被单击 .如果 (发送按钮.标题 = “开始发送”) 停止 = 假 线程句柄 = 线程_启动 (&发消息) 发送按钮.标题 = “停止发送” .否则 发送按钮.标题 = “开始发送” 停止 = 真 线程_销毁 (线程句柄) .如果结束 .子程序 线程_启动, 整数型, 公开, 成功返回线程句柄,失败返回0 .参数 要启动的子程序, 子程序指针 .参数 要传去子程序的参数, 整数型, 可空, 往子程序里面传递一个整数型的参数 .参数 线程ID, 整数型, 参考 可空, 请提供一个整数型的变量,用于存放新创建的线程ID。 返回 (CreateThread (0, 0, 要启动的子程序, 要传去子程序的参数, 0, 线程ID)) .子程序 _清空数据按钮_被单击 列表框1.清空 ()
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
赞 (0)