易語言QQ羣發支持圖片文字數據一起發送的工具

今天小編就爲大家分享一篇關於易語言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.清空 ()

運行結果:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章