易語言通過句柄名來關(guān)閉互斥體實(shí)現(xiàn)游戲多開的代碼
更新時(shí)間:2018年11月26日 10:44:32 作者:易語言源碼教程
今天小編就為大家分享一篇關(guān)于易語言通過句柄名來關(guān)閉互斥體實(shí)現(xiàn)游戲多開的代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
DLL命令代碼
.版本 2 .DLL命令 GetProcessHandleCount, 邏輯型 .參數(shù) hProcess, 整數(shù)型 .參數(shù) pdwHandleCount, 整數(shù)型, 傳址 .DLL命令 DuplicateHandle, 邏輯型 .參數(shù) hSourceProcessHandle, 整數(shù)型 .參數(shù) hSourceHandle, 整數(shù)型 .參數(shù) hTargetProcessHandle, 整數(shù)型 .參數(shù) lpTargetHandle, 整數(shù)型, 傳址 .參數(shù) dwDesiredAccess, 整數(shù)型 .參數(shù) bInheritHandle, 邏輯型 .參數(shù) dwOptions, 整數(shù)型 .DLL命令 GetCurrentProcess, 整數(shù)型 .DLL命令 ZwQueryObject, 整數(shù)型, "ntdll.dll" .參數(shù) ObjectHandle, 整數(shù)型 .參數(shù) ObjectInformationClass, 整數(shù)型 .參數(shù) ObjectInformation, 字節(jié)集, 傳址 .參數(shù) Length, 整數(shù)型 .參數(shù) ResultLength, 整數(shù)型, 傳址 .DLL命令 CloseHandle, 邏輯型 .參數(shù) hObject, 整數(shù)型 .DLL命令 WideCharToMultiByte, 整數(shù)型 .參數(shù) CodePage, 整數(shù)型 .參數(shù) dwFlags, 整數(shù)型 .參數(shù) lpWideCharStr, 字節(jié)集 .參數(shù) cchWideChar, 整數(shù)型 .參數(shù) lpMultiByteStr, 文本型 .參數(shù) cchMultiByte, 整數(shù)型 .參數(shù) lpDefaultChar, 文本型 .參數(shù) lpUsedDefaultChar, 整數(shù)型 .DLL命令 OpenProcess, 整數(shù)型 .參數(shù) dwDesiredAccess, 整數(shù)型 .參數(shù) bInheritHandle, 邏輯型 .參數(shù) dwProcessId, 整數(shù)型 .DLL命令 CreateToolhelp32Snapshot, 整數(shù)型 .參數(shù) dwFlags, 整數(shù)型 .參數(shù) th32ProcessID, 整數(shù)型 .DLL命令 Process32First, 整數(shù)型 .參數(shù) hSnapshot, 整數(shù)型 .參數(shù) lppe, LPPROCESSENTRY32 .DLL命令 Process32Next, 整數(shù)型 .參數(shù) hSnapshot, 整數(shù)型 .參數(shù) lppe, LPPROCESSENTRY32
自定義數(shù)據(jù)類型表
.版本 2 .數(shù)據(jù)類型 句柄信息 .成員 句柄, 整數(shù)型 .成員 對象名, 文本型 .數(shù)據(jù)類型 LPPROCESSENTRY32 .成員 dwSize, 整數(shù)型 .成員 cntUsage, 整數(shù)型 .成員 th32ProcessID, 整數(shù)型 .成員 th32DefaultHeapID, 整數(shù)型 .成員 th32ModuleID, 整數(shù)型 .成員 cntThreads, 整數(shù)型 .成員 th32ParentProcessID, 整數(shù)型 .成員 pcPriClassBase, 整數(shù)型 .成員 dwFlags, 整數(shù)型 .成員 szExeFile, 字節(jié)型, , "260"
關(guān)閉互斥體游戲多開的代碼
.版本 2 .程序集 窗口程序集_啟動窗口 .程序集變量 記錄句柄, 整數(shù)型 .子程序 _開啟按鈕_被單擊 時(shí)鐘1.時(shí)鐘周期 = 200 .子程序 啟動多開 .局部變量 句柄列表, 句柄信息, , "0" .局部變量 計(jì)次, 整數(shù)型 .局部變量 進(jìn)程句柄, 整數(shù)型, , "0" .局部變量 l1, 整數(shù)型 取進(jìn)程句柄 (“shiqiee.exe”, 進(jìn)程句柄) .計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (進(jìn)程句柄), l1) 枚舉句柄 (進(jìn)程句柄 [l1], 句柄列表) .計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (句柄列表), 計(jì)次) .如果真 (句柄列表 [計(jì)次].對象名 = “\Device\HarddiskVolume4\Windows\eelock1.txt” 或 句柄列表 [計(jì)次].對象名 = “\Device\HarddiskVolume4\Windows\eelock0.txt” 或 句柄列表 [計(jì)次].對象名 = “\Sessions\1\BaseNamedObjects\SA_MUTE0” 或 句柄列表 [計(jì)次].對象名 = “\Sessions\1\BaseNamedObjects\SA_MUTE1”) 關(guān)閉句柄 (進(jìn)程句柄 [l1], 句柄列表 [計(jì)次].句柄) .如果真結(jié)束 .計(jì)次循環(huán)尾 () .計(jì)次循環(huán)尾 () .子程序 枚舉句柄, 整數(shù)型 .參數(shù) 進(jìn)程句柄, 整數(shù)型 .參數(shù) 句柄列表, 句柄信息, 數(shù)組 .局部變量 句柄信息, 句柄信息 .局部變量 HandleCount, 整數(shù)型 .局部變量 sHandle, 整數(shù)型 .局部變量 tHandle, 整數(shù)型 .局部變量 i, 整數(shù)型 .局部變量 Buf, 字節(jié)集 .局部變量 len, 整數(shù)型 .如果真 (GetProcessHandleCount (進(jìn)程句柄, HandleCount)) .判斷循環(huán)首 (HandleCount > i 且 sHandle < 65536) sHandle = sHandle + 4 .如果真 (DuplicateHandle (進(jìn)程句柄, sHandle, GetCurrentProcess (), tHandle, 0, 假, 2)) i = i + 1 句柄信息.句柄 = sHandle 句柄信息.對象名 = “” Buf = 取空白字節(jié)集 (8192) .如果真 (ZwQueryObject (tHandle, 1, Buf, 8192, 0) = 0) len = 取字節(jié)集數(shù)據(jù) (Buf, 2, ) Buf = 取字節(jié)集中間 (Buf, 9, len) 句柄信息.對象名 = UnicodeToAnsi (Buf) .如果真結(jié)束 CloseHandle (tHandle) 加入成員 (句柄列表, 句柄信息) .如果真結(jié)束 .判斷循環(huán)尾 () .如果真結(jié)束 返回 (i) .子程序 UnicodeToAnsi, 文本型 .參數(shù) Unicode, 字節(jié)集 .局部變量 ansi_len, 整數(shù)型 .局部變量 unicode_len, 整數(shù)型 .局部變量 ansi, 文本型 unicode_len = 取字節(jié)集長度 (Unicode) ÷ 2 ansi_len = WideCharToMultiByte (936, 0, Unicode, unicode_len, ansi, 0, “”, 0) ansi = 取空白文本 (ansi_len) WideCharToMultiByte (936, 0, Unicode, unicode_len, ansi, ansi_len, “”, 0) 返回 (ansi) .子程序 關(guān)閉句柄, 邏輯型 .參數(shù) 進(jìn)程句柄, 整數(shù)型 .參數(shù) 對象句柄, 整數(shù)型 .局部變量 Handle, 整數(shù)型 .如果 (DuplicateHandle (進(jìn)程句柄, 對象句柄, GetCurrentProcess (), Handle, 0, 假, 1)) CloseHandle (Handle) 返回 (真) .否則 返回 (假) .如果結(jié)束 .子程序 取進(jìn)程句柄, 整數(shù)型 .參數(shù) 進(jìn)程名, 文本型 .參數(shù) 進(jìn)程句柄, 整數(shù)型, 可空 數(shù)組 .局部變量 LPPROCESSENTRY32, LPPROCESSENTRY32 .局部變量 hSnapshot, 整數(shù)型 .局部變量 hProcess, 整數(shù)型 .局部變量 j, 整數(shù)型 hSnapshot = CreateToolhelp32Snapshot (2, 0) .如果真 (hSnapshot ≠ -1) LPPROCESSENTRY32.dwSize = 296 j = Process32First (hSnapshot, LPPROCESSENTRY32) .判斷循環(huán)首 (j ≠ 0) .如果真 (到小寫 (進(jìn)程名) = 到小寫 (到文本 (LPPROCESSENTRY32.szExeFile))) hProcess = OpenProcess (2035711, 假, LPPROCESSENTRY32.th32ProcessID) 加入成員 (進(jìn)程句柄, hProcess) .如果真結(jié)束 j = Process32Next (hSnapshot, LPPROCESSENTRY32) .判斷循環(huán)尾 () CloseHandle (hSnapshot) 返回 (hProcess) .如果真結(jié)束 返回 (0) .子程序 _時(shí)鐘1_周期事件 啟動多開 () .子程序 _關(guān)閉按鈕_被單擊 時(shí)鐘1.時(shí)鐘周期 = 0
運(yùn)行結(jié)果:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
易語言破解軟件時(shí)的按鈕斷點(diǎn)事件處理方法
這篇文章主要介紹了易語言破解軟件時(shí)的按鈕斷點(diǎn)事件處理方法,在破解exe軟件時(shí)常用,按鈕事件斷點(diǎn)斷在時(shí)鐘,需要的朋友可以參考下2014-07-07