溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

易語言如何實(shí)現(xiàn)QQ群發(fā)支持圖片文字?jǐn)?shù)據(jù)一起發(fā)送的工具

發(fā)布時(shí)間:2021-07-26 14:48:01 來源:億速云 閱讀:903 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)易語言如何實(shí)現(xiàn)QQ群發(fā)支持圖片文字?jǐn)?shù)據(jù)一起發(fā)送的工具,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

DLL命令表

.版本 2
.DLL命令 OpenClipboard, 邏輯型, "user32", "OpenClipboard", , 打開CLIPBOARD
  .參數(shù) hwnd, 整數(shù)型
.DLL命令 GetClipboardData, 整數(shù)型, "user32", "GetClipboardData", , 返回剪貼板數(shù)據(jù)的句柄
  .參數(shù) wFormat, 整數(shù)型
.DLL命令 RegisterClipboardFormat, 整數(shù)型, "user32", "RegisterClipboardFormatA", , 登記新的CLIPBOARD格式
  .參數(shù) lpString, 文本型
.DLL命令 GlobalSize, 整數(shù)型, "kernel32", "GlobalSize", , 返回全局內(nèi)存塊大小
  .參數(shù) hMem, 整數(shù)型
.DLL命令 GlobalLock, 整數(shù)型, "kernel32", "GlobalLock", , 鎖定內(nèi)存對象并返回一個(gè)指針
  .參數(shù) hMem, 整數(shù)型
.DLL命令 CloseClipboard, 整數(shù)型, "user32", "CloseClipboard", , 關(guān)閉剪貼板
.DLL命令 GlobalAlloc, 整數(shù)型, "kernel32", "GlobalAlloc", , 在堆中分配內(nèi)存
  .參數(shù) wFlags, 整數(shù)型
  .參數(shù) dwBytes, 整數(shù)型
.DLL命令 GlobalUnlock, 整數(shù)型, "kernel32", "GlobalUnlock", , 開鎖全局內(nèi)存塊
  .參數(shù) hMem, 整數(shù)型
.DLL命令 EmptyClipboard, 邏輯型, "user32", "EmptyClipboard", , 清空剪貼板并釋放數(shù)據(jù)句柄
.DLL命令 SetClipboardData, 整數(shù)型, "user32", "SetClipboardData", , 設(shè)置剪貼板中數(shù)據(jù)
  .參數(shù) wFormat, 整數(shù)型
  .參數(shù) hMem, 整數(shù)型
.DLL命令 CreateThread, 整數(shù)型, "kernel32.dll", "CreateThread", , 創(chuàng)建一個(gè)新的線程,創(chuàng)建完畢會立即返回。成功則返回新線程的句柄,零表示失敗
  .參數(shù) lpThreadAttributes, 整數(shù)型, , 指向一個(gè)SECURITY_ATTRIBUTES結(jié)構(gòu),主要用來指定句柄是否可以被繼承,如果讓線程使用默認(rèn)的安全屬性,可以將此值設(shè)為 NULL
  .參數(shù) dwStackSize, 整數(shù)型, , 線程堆棧大小,如果為0,那么線程的堆棧大小和主線程使用的大小相同
  .參數(shù) lpStartAddress, 子程序指針, , 線程的開始執(zhí)行地址,指向一個(gè)新線程函數(shù)(過程)的指針
  .參數(shù) lpParameter, 整數(shù)型, , 傳遞給自定義參數(shù),傳遞給子線程的參數(shù),0為無限止
  .參數(shù) dwCreationFlags, 整數(shù)型, , 設(shè)置線程被創(chuàng)建后的狀態(tài),如果為0表示,創(chuàng)建后立即運(yùn)行,如果為CREATE_SUSPENDED標(biāo)志,表示線程被創(chuàng)建后處于掛志狀態(tài),直到使用ResumeThread函數(shù)顯式地啟動線程為止
  .參數(shù) lpThreadId, 整數(shù)型, , 指向一個(gè)雙字節(jié)變量,用來接收函數(shù)返回的線程ID.線程ID在系統(tǒng)范圍內(nèi)是唯一的.

常量數(shù)據(jù)表

.版本 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群發(fā)助手

此功能需要加載精易模塊5.6

.版本 2
.支持庫 eAPI
.支持庫 iext
.程序集 窗口程序集1
.程序集變量 聊天句柄數(shù)組, 整數(shù)型, , "0"
.程序集變量 線程句柄, 整數(shù)型
.程序集變量 停止, 邏輯型
.程序集變量 QQ剪輯板標(biāo)志, 整數(shù)型
.子程序 _添加文本按鈕_被單擊
.局部變量 Str, 文本型
.如果真 (輸入框 (“請輸入文本”, “輸入框”, “請輸入內(nèi)容[QQ剪輯板格式]”, Str, #輸入文本))
  列表框1.加入項(xiàng)目 (Str, 0)
.如果真結(jié)束
.子程序 __啟動窗口_創(chuàng)建完畢
QQ剪輯板標(biāo)志 = RegisterClipboardFormat (“QQ_RichEdit_Format”)
.子程序 _添加圖片按鈕_被單擊
.如果真 (通用對話框1.打開 ())
  列表框1.加入項(xiàng)目 (通用對話框1.文件名, 1)
.如果真結(jié)束
.子程序 _添加表情按鈕_被單擊
.局部變量 Str, 整數(shù)型
.如果真 (輸入框 (“表情代碼[整數(shù)]”, “輸入框”, “請輸入表情代碼”, Str, #輸入整數(shù)))
  列表框1.加入項(xiàng)目 (到文本 (Str), 2)
.如果真結(jié)束
.子程序 _合成置入按鈕_被單擊
.局部變量 Str, 文本型
.局部變量 mStr, 整數(shù)型
.局部變量 lpMem, 整數(shù)型
.如果真 (列表框1.取項(xiàng)目數(shù) () = 0)
  信息框 (“數(shù)據(jù)不能為空”, 0, )
.如果真結(jié)束
Str = 合成QQ剪輯板代碼 ()
mStr = GlobalAlloc (位或 (#GMEM_MOVEABLE, #GMEM_ZEROINIT), 取文本長度 (Str) + 1)
.如果真 (mStr ≠ 0)
  lpMem = GlobalLock (mStr)
  .如果真 (lpMem ≠ 0)
    寫到內(nèi)存 (Str, lpMem, )
    GlobalUnlock (mStr)
    .如果真 (mStr ≠ 0)
      .如果真 (OpenClipboard (0))
        .如果真 (EmptyClipboard ())
          SetClipboardData (QQ剪輯板標(biāo)志, mStr)
        .如果真結(jié)束
        CloseClipboard ()
      .如果真結(jié)束
    .如果真結(jié)束
  .如果真結(jié)束
.如果真結(jié)束
.子程序 合成QQ剪輯板代碼, 文本型
.局部變量 Code, 文本型
.局部變量 i, 整數(shù)型
Code = #Fmt_Head
.計(jì)次循環(huán)首 (列表框1.取項(xiàng)目數(shù) (), i)
  .判斷開始 (列表框1.取項(xiàng)目數(shù)值 (i - 1) = 0) ' 文本
    Code = Code + #Str_Head + 列表框1.取項(xiàng)目文本 (i - 1) + “]]></EditElement>”
  .判斷 (列表框1.取項(xiàng)目數(shù)值 (i - 1) = 1) ' 圖片
    Code = Code + #Img_Head + 列表框1.取項(xiàng)目文本 (i - 1) + #Img_End
  .判斷 (列表框1.取項(xiàng)目數(shù)值 (i - 1) = 2) ' 系統(tǒng)表情
    Code = Code + #Face_Head + 列表框1.取項(xiàng)目文本 (i - 1) + #Face_End
  .默認(rèn)
  .判斷結(jié)束
.計(jì)次循環(huán)尾 ()
Code = Code + “</QQRichEditFormat>”
返回 (Code)
.子程序 發(fā)消息
.局部變量 計(jì)次, 整數(shù)型
.判斷循環(huán)首 (取反 (停止))
  清除數(shù)組 (聊天句柄數(shù)組)
  獲取并過濾窗口信息 ()
  .計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (聊天句柄數(shù)組), 計(jì)次)
    窗口_總在最前 (聊天句柄數(shù)組 [計(jì)次], 真)
    模擬按鍵 (#Ctrl鍵, #V鍵, )
    程序_延時(shí) (1000)
    鍵盤_消息 (聊天句柄數(shù)組 [計(jì)次], #回車鍵, 5)
    窗口_總在最前 (聊天句柄數(shù)組 [計(jì)次], 假)
    程序_延時(shí) (1500)
  .計(jì)次循環(huán)尾 ()
  程序_延時(shí) (到整數(shù) (間隔時(shí)間編輯框.內(nèi)容) × 1000)
.判斷循環(huán)尾 ()
.子程序 獲取并過濾窗口信息
.局部變量 數(shù)組, 整數(shù)型, , "0"
.局部變量 計(jì)次, 整數(shù)型
.局部變量 索引, 整數(shù)型
.局部變量 A, 整數(shù)型
A = 0
窗口_枚舉子窗口 (, 數(shù)組, “TXGuiFoundation”)
超級列表框1.全部刪除 ()
.計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (數(shù)組), 計(jì)次)
  .如果真 (窗口_是否可見 (數(shù)組 [計(jì)次]))
    .如果真 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]) ≠ “QQ”)
      .如果真 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]) ≠ “騰訊微云”)
        .如果真 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]) ≠ “查找”)
          .如果真 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]) ≠ “系統(tǒng)設(shè)置”)
            .如果真 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]) ≠ “消息管理器”)
              .如果真 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]) ≠ “應(yīng)用寶”)
                .如果真 (倒找文本 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]), “的資料”, , 假) = -1)
                  .如果真 (倒找文本 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]), “的 收藏”, , 假) = -1)
                    .如果真 (倒找文本 (窗口_取標(biāo)題 (數(shù)組 [計(jì)次]), “的 文件助手”, , 假) = -1)
                      A = A + 1
                      索引 = 超級列表框1.插入表項(xiàng) (0, 到文本 (A), 1, , , )
                      超級列表框1.置標(biāo)題 (索引, 1, 窗口_取標(biāo)題 (數(shù)組 [計(jì)次]))
                      加入成員 (聊天句柄數(shù)組, 數(shù)組 [計(jì)次])
                    .如果真結(jié)束
                  .如果真結(jié)束
                .如果真結(jié)束
              .如果真結(jié)束
            .如果真結(jié)束
          .如果真結(jié)束
        .如果真結(jié)束
      .如果真結(jié)束
    .如果真結(jié)束
  .如果真結(jié)束
.計(jì)次循環(huán)尾 ()
.子程序 _發(fā)送按鈕_被單擊
.如果 (發(fā)送按鈕.標(biāo)題 = “開始發(fā)送”)
  停止 = 假
  線程句柄 = 線程_啟動 (&發(fā)消息)
  發(fā)送按鈕.標(biāo)題 = “停止發(fā)送”
.否則
  發(fā)送按鈕.標(biāo)題 = “開始發(fā)送”
  停止 = 真
  線程_銷毀 (線程句柄)
.如果結(jié)束
.子程序 線程_啟動, 整數(shù)型, 公開, 成功返回線程句柄,失敗返回0
.參數(shù) 要啟動的子程序, 子程序指針
.參數(shù) 要傳去子程序的參數(shù), 整數(shù)型, 可空, 往子程序里面?zhèn)鬟f一個(gè)整數(shù)型的參數(shù)
.參數(shù) 線程ID, 整數(shù)型, 參考 可空, 請?zhí)峁┮粋€(gè)整數(shù)型的變量,用于存放新創(chuàng)建的線程ID。
返回 (CreateThread (0, 0, 要啟動的子程序, 要傳去子程序的參數(shù), 0, 線程ID))
.子程序 _清空數(shù)據(jù)按鈕_被單擊
列表框1.清空 ()

運(yùn)行結(jié)果:

易語言如何實(shí)現(xiàn)QQ群發(fā)支持圖片文字?jǐn)?shù)據(jù)一起發(fā)送的工具

關(guān)于“易語言如何實(shí)現(xiàn)QQ群發(fā)支持圖片文字?jǐn)?shù)據(jù)一起發(fā)送的工具”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI