易语言通过句柄名来关闭互斥体实现游戏多开的代码

DLL命令代码

.版本 2
.DLL命令 GetProcessHandleCount, 逻辑型
  .参数 hProcess, 整数型
  .参数 pdwHandleCount, 整数型, 传址
.DLL命令 DuplicateHandle, 逻辑型
  .参数 hSourceProcessHandle, 整数型
  .参数 hSourceHandle, 整数型
  .参数 hTargetProcessHandle, 整数型
  .参数 lpTargetHandle, 整数型, 传址
  .参数 dwDesiredAccess, 整数型
  .参数 bInheritHandle, 逻辑型
  .参数 dwOptions, 整数型
.DLL命令 GetCurrentProcess, 整数型
.DLL命令 ZwQueryObject, 整数型, "ntdll.dll"
  .参数 ObjectHandle, 整数型
  .参数 ObjectInformationClass, 整数型
  .参数 ObjectInformation, 字节集, 传址
  .参数 Length, 整数型
  .参数 ResultLength, 整数型, 传址
.DLL命令 CloseHandle, 逻辑型
  .参数 hObject, 整数型
.DLL命令 WideCharToMultiByte, 整数型
  .参数 CodePage, 整数型
  .参数 dwFlags, 整数型
  .参数 lpWideCharStr, 字节集
  .参数 cchWideChar, 整数型
  .参数 lpMultiByteStr, 文本型
  .参数 cchMultiByte, 整数型
  .参数 lpDefaultChar, 文本型
  .参数 lpUsedDefaultChar, 整数型
.DLL命令 OpenProcess, 整数型
  .参数 dwDesiredAccess, 整数型
  .参数 bInheritHandle, 逻辑型
  .参数 dwProcessId, 整数型
.DLL命令 CreateToolhelp32Snapshot, 整数型
  .参数 dwFlags, 整数型
  .参数 th32ProcessID, 整数型
.DLL命令 Process32First, 整数型
  .参数 hSnapshot, 整数型
  .参数 lppe, LPPROCESSENTRY32
.DLL命令 Process32Next, 整数型
  .参数 hSnapshot, 整数型
  .参数 lppe, LPPROCESSENTRY32

自定义数据类型表

.版本 2
.数据类型 句柄信息
  .成员 句柄, 整数型
  .成员 对象名, 文本型
.数据类型 LPPROCESSENTRY32
  .成员 dwSize, 整数型
  .成员 cntUsage, 整数型
  .成员 th32ProcessID, 整数型
  .成员 th32DefaultHeapID, 整数型
  .成员 th32ModuleID, 整数型
  .成员 cntThreads, 整数型
  .成员 th32ParentProcessID, 整数型
  .成员 pcPriClassBase, 整数型
  .成员 dwFlags, 整数型
  .成员 szExeFile, 字节型, , "260"

关闭互斥体游戏多开的代码

.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 记录句柄, 整数型
.子程序 _开启按钮_被单击
时钟1.时钟周期 = 200
.子程序 启动多开
.局部变量 句柄列表, 句柄信息, , "0"
.局部变量 计次, 整数型
.局部变量 进程句柄, 整数型, , "0"
.局部变量 l1, 整数型
取进程句柄 (“shiqiee.exe”, 进程句柄)
.计次循环首 (取数组成员数 (进程句柄), l1)
  枚举句柄 (进程句柄 [l1], 句柄列表)
  .计次循环首 (取数组成员数 (句柄列表), 计次)
    .如果真 (句柄列表 [计次].对象名 = “\Device\HarddiskVolume4\Windows\eelock1.txt” 或 句柄列表 [计次].对象名 = “\Device\HarddiskVolume4\Windows\eelock0.txt” 或 句柄列表 [计次].对象名 = “\Sessions\1\BaseNamedObjects\SA_MUTE0” 或 句柄列表 [计次].对象名 = “\Sessions\1\BaseNamedObjects\SA_MUTE1”)
      关闭句柄 (进程句柄 [l1], 句柄列表 [计次].句柄)
    .如果真结束
  .计次循环尾 ()
.计次循环尾 ()
.子程序 枚举句柄, 整数型
.参数 进程句柄, 整数型
.参数 句柄列表, 句柄信息, 数组
.局部变量 句柄信息, 句柄信息
.局部变量 HandleCount, 整数型
.局部变量 sHandle, 整数型
.局部变量 tHandle, 整数型
.局部变量 i, 整数型
.局部变量 Buf, 字节集
.局部变量 len, 整数型
.如果真 (GetProcessHandleCount (进程句柄, HandleCount))
  .判断循环首 (HandleCount > i 且 sHandle < 65536)
    sHandle = sHandle + 4
    .如果真 (DuplicateHandle (进程句柄, sHandle, GetCurrentProcess (), tHandle, 0, 假, 2))
      i = i + 1
      句柄信息.句柄 = sHandle
      句柄信息.对象名 = “”
      Buf = 取空白字节集 (8192)
      .如果真 (ZwQueryObject (tHandle, 1, Buf, 8192, 0) = 0)
        len = 取字节集数据 (Buf, 2, )
        Buf = 取字节集中间 (Buf, 9, len)
        句柄信息.对象名 = UnicodeToAnsi (Buf)
      .如果真结束
      CloseHandle (tHandle)
      加入成员 (句柄列表, 句柄信息)
    .如果真结束
  .判断循环尾 ()
.如果真结束
返回 (i)
.子程序 UnicodeToAnsi, 文本型
.参数 Unicode, 字节集
.局部变量 ansi_len, 整数型
.局部变量 unicode_len, 整数型
.局部变量 ansi, 文本型
unicode_len = 取字节集长度 (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)
.子程序 关闭句柄, 逻辑型
.参数 进程句柄, 整数型
.参数 对象句柄, 整数型
.局部变量 Handle, 整数型
.如果 (DuplicateHandle (进程句柄, 对象句柄, GetCurrentProcess (), Handle, 0, 假, 1))
  CloseHandle (Handle)
  返回 (真)
.否则
  返回 (假)
.如果结束
.子程序 取进程句柄, 整数型
.参数 进程名, 文本型
.参数 进程句柄, 整数型, 可空 数组
.局部变量 LPPROCESSENTRY32, LPPROCESSENTRY32
.局部变量 hSnapshot, 整数型
.局部变量 hProcess, 整数型
.局部变量 j, 整数型
hSnapshot = CreateToolhelp32Snapshot (2, 0)
.如果真 (hSnapshot ≠ -1)
  LPPROCESSENTRY32.dwSize = 296
  j = Process32First (hSnapshot, LPPROCESSENTRY32)
  .判断循环首 (j ≠ 0)
    .如果真 (到小写 (进程名) = 到小写 (到文本 (LPPROCESSENTRY32.szExeFile)))
      hProcess = OpenProcess (2035711, 假, LPPROCESSENTRY32.th32ProcessID)
      加入成员 (进程句柄, hProcess)
    .如果真结束
    j = Process32Next (hSnapshot, LPPROCESSENTRY32)
  .判断循环尾 ()
  CloseHandle (hSnapshot)
  返回 (hProcess)
.如果真结束
返回 (0)
.子程序 _时钟1_周期事件
启动多开 ()
.子程序 _关闭按钮_被单击
时钟1.时钟周期 = 0

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言枚举进程所有句柄信息的代码

    DLL命令表 .版本 2 .DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId" .DLL命令 GetCurrentProcess, 整数型, "kernel32.dll", "GetCurrentProcess" .DLL命令 RtlMoveMemory_SYSTEM_HANDLE_INFORMATION, , "kernel32

  • 易语言当前窗口或组件的窗口句柄获取方法

    取窗口句柄方法 英文命令:GetHWnd 操作系统支持:Windows    所属对象:窗口 取出本窗口或窗口组件的窗口句柄(即HWND). 语法:  整数型  窗口组件.取窗口句柄() 例程 说明 通过"取窗口句柄"命令获取指定窗口的句柄.窗口每次创建都被系统赋予一个新的句柄. 句柄:在计算机中,所有的数据都是由一系列二进制数值所表示的,像窗口,文件,图片等大型的作为一个整体 的数据,系统自动赋予一个名字来命名它,这个名字就是句柄.窗口句柄就是窗口在系统中的名字. 本方法适用于所有组

  • 易语言关闭多线程句柄方法

    命令名 :关闭线程句柄 返回真表示已成功关闭线程句柄.在Linux下,如果线程已经结束,本命令可能返回假.本命令为初级命令. 参数 数据类型 说明 线程句柄 整数型(int) 可通过"启动线程"的第三个参数获取线程句柄. 使用例子: .版本 2 .支持库 EThread .程序集 程序集1 .程序集变量 线程句柄, 整数型 .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 启动线程 (&子程序1, , 线程句柄) 关闭线程句柄 (线程句柄) 返回 (0) '

  • 讲解易语言句柄的概念

    以下我们给大家详细讲述了易语言中的句柄的概念和含义 这是操作系统里的一个概念,句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等.WINDOWS句柄有点象C语言中的文件句柄. 从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人.从数据类型上来看它只是一个16位的无符号整数.应

  • 易语言枚举进程通过窗口句柄获取已经登录的QQ号码

    DLL命令表 .版本 2 .DLL命令 GetDesktopWindow, 整数型, "user32.dll", "GetDesktopWindow" .DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32", "CreateToolhelp32Snapshot" .参数 dwFlags, 整数型, , 0 .参数 th32ProcessIE, 整数型, , 0 .DLL命令 Proce

  • 易语言通过取设备句柄命令获取指定画板的设备场景句柄

    取设备句柄方法 英文命令:GetHDC 操作系统支持:Windows    所属对象:画板 语法: 整数型 画板.取设备句柄() 如当前用户程序正在处理本画板所产生的"绘画"事件,则返回画板所对应的设备句柄(即HDC),否则返回 0. 例程 说明 通过"取设备句柄"命令获取指定画板的设备场景句柄."取设备句柄"命令只在绘画事件子程序中好用. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,

  • 认识易语言句柄及局部变量

    局部变量 创建方法,选择"插入" 局部变量:就是只能在一个子程序里访问.程序集变量:就是能在一个程序集里访问,不过其他的程序集访问也可以(不过需要特殊访问).全局变量:什么地方都能访问.

  • 易语言超文本浏览框取真实句柄方法

    很多朋友想做网页 鼠标键盘后台消息的软件,但是苦于找不到超文本浏览狂的真实句柄. 如果你用 超文本浏览框.取窗口句柄() 那么你取到的是图1的句柄,这个句柄是无法操作的 图中2的句柄才是真正可以发送消息和模拟操作的句柄,也是用窗口助手真正查到的句柄 具体操作看下图. 用的是精易模块的窗口枚举所有子窗口命令 然后匹配出类名为"Internet Explorer_Server"的那个句柄就是真实句柄了. 感谢大家对我们的支持,如果大家在学习中有任何问题可以联系小编.

  • 易语言通过句柄名来关闭互斥体实现游戏多开的代码

    DLL命令代码 .版本 2 .DLL命令 GetProcessHandleCount, 逻辑型 .参数 hProcess, 整数型 .参数 pdwHandleCount, 整数型, 传址 .DLL命令 DuplicateHandle, 逻辑型 .参数 hSourceProcessHandle, 整数型 .参数 hSourceHandle, 整数型 .参数 hTargetProcessHandle, 整数型 .参数 lpTargetHandle, 整数型, 传址 .参数 dwDesiredAcce

  • 易语言解析淘宝客短链接转换成商品真实链接的代码

    淘宝客短链接转换成商品地址的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 EThread .程序集 窗口程序集_启动窗口 .子程序 test 商品地址编辑框.内容 = GetRealUrl (短链接编辑框.内容) .子程序 GetRealUrl, 文本型 .参数 shortUrl, 文本型 .局部变量 rurl, 文本型 .局部变量 referer, 文本型 .局部变量 laststr, 文本型 httpGet (shortUrl, , rurl) httpGet (rurl, ,

  • 易语言通过计算替换字节实现酷狗音乐缓存文件转MP3的代码

    DLL命令表 .版本 2 .DLL命令 创建线程_, 整数型, "kernel32", "CreateThread", , CreateThread建立新的线索 .参数 lpThreadAttributes, 整数型, , 0 .参数 dwStackSize, 整数型, , 0 .参数 lpStartAddress, 子程序指针 .参数 lpParameter, 整数型 .参数 dwCreationFlags, 整数型, , 0 .参数 lpThreadId, 整数

  • 易语言免费免登陆不限次数下载千图网图片的代码

     免费免登陆下载千图网贴图,不限下载次数. 此功能配合精易模块5.6使用,需要加载模块. .版本 2 .支持库 internet .程序集 窗口程序集_启动窗口 .子程序 _按钮1_被单击 .局部变量 文件序号, 文本型 .局部变量 网页源码, 文本型 .局部变量 图片地址, 文本型 .局部变量 网址中间, 文本型 .局部变量 图片数据, 字节集 .局部变量 格式, 文本型 网页源码 = 网页_访问S (编辑框1.内容) 网址中间 = 取中间文本 (网页源码, "src=" + #引号

  • 易语言分割文本命令将一段文本通过指定文本分割开

    分割文本命令 英文命令:split 操作系统支持:Windows.Linux    所属类别:文本操作 将指定文本进行分割,返回分割后的一维文本数组. 语法:  文本型数组  分割文本 (待分割文本,[用作分割的文本],[要返回的子文本数目]) 例程 说明 通过"分割文本"命令将一段文本通过指定文本分割. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • 易语言基础教程之软件界面介绍

    易语言之所以称为全可视化编程语言,就是因为它的开发界面和DOS界面下的一般编程界面相比,是图形化的:它所制作的应用程序图形,就是日后运行时看到的程序界面.整个编程过程都是可视的,可以称之为"所见即所得". 下面,我们就启动易语言的软件界面,给大家介绍熟悉易语言软件界面 熟悉易语言软件界面 选择"程序",点击"新建"按钮,选择第一个,如下图所示,再单击"确定",将自动建立一个新程序,该程序可在保存时命名. 程序窗口由上往下依次是

  • 总结VC与易语言DLL互相调用的方法

    在编写程序的时候往往需要调用到别的语言编写的DLL文件,下面先来看一下在易语言中如何调用VC编写的DLL呢,首先用VC编写一个简单的DLL文件,代码如下: int WINAPI add(int x,int y) { return x+y; } 这是一个简单的两个数加法操作,返回两个数相加的结果,这里我生成的是MFC DLL,并且需要在def中导出add函数. 下面用易语言来调用它,首先在易语言中需要插入一个DLL命令,代码如下: .版本 2 .DLL命令 调用CDLL, 整数型, "cdll.d

  • 易语言把非文本类型数据变为文本类型

    易语言到文本,这个是什么意思呢?这个命令就是把非文本类型数据变为文本类型,你看我下面的实例就知道了. 1.易语言新建一个windows窗口 点击进入代码编辑区 具体看如何用易语言编写自己第一个程序? 2.这里我们要使用调试输出这个函数,具体看易语言调试输出函数实例详解我们输入调试输出 (1)这行代码是用于比对这里我们要使用调试输出这个函数,具体看易语言调试输出函数实例详解我们输入调试输出 (1)这行代码是用于比对 3.我们在输入 到文本这个命令 4.我们展开这个函数 发现只有一个参数,这个参数我

  • 易语言制作图标提取器方法

    图标提取器网上也很多这样的工具,这里我们就用易语言自己做一个,本人也是一边学边应用,代码不一定好,只给大家参考学习用 1.我们先做好图标提取器的界面,添加两个按钮,两个编辑框,适当更改一下窗口的标题和标签说明 2.接着增加一个图片框,设置为凹入式,背景颜色为白,添加标签说明接着增加一个图片框,设置为凹入式,背景颜色为白,添加标签说明 3.接着再添加两个通用对话框,通用对话模型1类型设置为"保存文件",通用对话框2类型设置为"打开文件" 4.界面做好了,再看代码部分,

  • 易语言静态编译的两种方法总结

    许多刚接触易语言的朋友在画上几个小时的时间写好代码准备编译的时候,或多或少碰到过易语言提示无法定位连接器的问题,导致辛辛苦苦制作的软件无法编译发布,今天小编就来教大家两种解决易语言无法静态编译的方法,大家一定要耐心看完哦,最好能够够跟着教程一步一步操作. 1.首先,打开易语言安装目录,找到"VC98linker"文件夹进入(PS:如果找不到此目录,说明您下载的易语言并非破解版本,请先自行百度搜索下载安装易语言5.11破解版). 2.找到"link.e"文件,打开.(

随机推荐