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

DLL命令表

.版本 2
.DLL命令 GetDesktopWindow, 整数型, "user32.dll", "GetDesktopWindow"
.DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32", "CreateToolhelp32Snapshot"
  .参数 dwFlags, 整数型, , 0
  .参数 th32ProcessIE, 整数型, , 0
.DLL命令 Process32First, 整数型, "kernel32", "Process32First"
  .参数 hSnapshot, 整数型, , 0
  .参数 lppe, 进程信息列表, , 0
.DLL命令 CloseHandle, 逻辑型, "Kernel32", "CloseHandle", , 关闭打开的对象句柄
  .参数 hObject, 整数型, , 要关闭的对象句柄
.DLL命令 GetWindowTextA, 整数型, "user32.dll", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
  .参数 hWnd, 整数型, , 欲获取文字的那个窗口的句柄
  .参数 lpString, 文本型, 传址, 预定义的一个缓冲区,至少有cch 1个字符大小;随同窗口文字载入
  .参数 nMaxCount, 整数型, , lp缓冲区的长度;
.DLL命令 GetWindowTextLength, 整数型, "user32", "GetWindowTextLengthA", 公开
  .参数 hwnd, 整数型
.DLL命令 Process32Next, 整数型, "kernel32", "Process32Next", , 获得下一个进程的句柄
  .参数 hSnapshot, 整数型, , 0
  .参数 lppe, 进程信息列表, , 0
.DLL命令 GetWindow, 整数型, , "GetWindow"
  .参数 源窗口, 整数型
  .参数 关系, 整数型

自定义数据类型表

.版本 2
.数据类型 进程信息列表, 公开
  .成员 dwSize, 整数型, , , 1
  .成员 cntUsage, 整数型, , , 2
  .成员 进程ID, 整数型, , , 3
  .成员 th32DefaultHeapID, 整数型, , , 4
  .成员 th32ModuleID, 整数型, , , 5
  .成员 cntThreads, 整数型, , , 6
  .成员 th32ParentProcessID, 整数型, , , 7
  .成员 pcPriClassBase, 整数型, , , 8
  .成员 dwFlags, 整数型, , , 9
  .成员 进程名称, 字节型, , "256", 10

窗口句柄方式取已登陆QQ号码的代码

.版本 2
.程序集 窗口程序集_启动窗口
.子程序 _启动子程序, 整数型
.局部变量 返回的QQ号码, 文本型
.局部变量 分割的文本, 文本型, , "0"
返回的QQ号码 = 系统_取已登陆QQ号码 ()
分割的文本 = 分割文本 (返回的QQ号码, #换行符, )
信息框 (“有” + 到文本 (取数组成员数 (分割的文本)) + “个QQ” + #换行符 + 返回的QQ号码, 0, )
返回 (0)
.子程序 窗口_取标题, 文本型, 公开
.参数 窗口句柄, 整数型
.局部变量 局_缓冲区, 文本型
.局部变量 局_缓冲大小
局_缓冲大小 = GetWindowTextLength (窗口句柄) + 1
局_缓冲区 = 取空白文本 (局_缓冲大小)
GetWindowTextA (窗口句柄, 局_缓冲区, 局_缓冲大小)
返回 (局_缓冲区)
.子程序 窗口_枚举窗口句柄, 整数型, 公开, 通过窗口任务关系来枚举所有窗口,返回窗口句柄数目,失败返回0
.参数 句柄数组, 整数型, 可空 数组, 返回的所有窗口句柄数组
.局部变量 窗口句柄, 整数型
清除数组 (句柄数组)
窗口句柄 = GetWindow (GetDesktopWindow (), 5)
.判断循环首 (窗口句柄 ≠ 0)
  加入成员 (句柄数组, 窗口句柄)
  窗口句柄 = GetWindow (窗口句柄, 2)
.判断循环尾 ()
返回 (取数组成员数 (句柄数组))
.子程序 进程_取ID数组, 整数型, 公开, 取指定进程名称的所有进程的进程ID(返回进程ID数目,没有返回0)
.参数 进程名, 文本型, , 程序进程名
.参数 进程ID数组, 整数型, 参考 数组, 返回的进程ID 数组
.参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写
.局部变量 信息, 进程信息列表
.局部变量 进程快照, 整数型
.局部变量 进程句柄, 整数型
清除数组 (进程ID数组)
进程快照 = CreateToolhelp32Snapshot (15, 0)
.如果真 (进程快照 = 0)
  返回 (0)
.如果真结束
信息.dwSize = 1024
进程句柄 = Process32First (进程快照, 信息)
.判断开始 (区分大小写)
  .判断循环首 (进程句柄 ≠ 0)
    .如果真 (进程名 = 到文本 (信息.进程名称))
      加入成员 (进程ID数组, 信息.进程ID)
    .如果真结束
    进程句柄 = Process32Next (进程快照, 信息)
  .判断循环尾 ()
.默认
  .判断循环首 (进程句柄 ≠ 0)
    .如果真 (到小写 (进程名) = 到小写 (到文本 (信息.进程名称)))
      加入成员 (进程ID数组, 信息.进程ID)
    .如果真结束
    进程句柄 = Process32Next (进程快照, 信息)
  .判断循环尾 ()
.判断结束
CloseHandle (进程快照)
返回 (取数组成员数 (进程ID数组))
.子程序 系统_取已登陆QQ号码, 文本型, 公开, 成功返回QQ号码,如果是多个QQ号码以#换行符分开,其他的都返回空
.局部变量 局_窗口标题, 文本型
.局部变量 局_变量文本, 文本型
.局部变量 局_分割的文本, 文本型, , "0"
.局部变量 局_进程ID数目, 整数型
.局部变量 计次, 整数型
.局部变量 i, 整数型
.局部变量 局_进程ID数组, 整数型, , "0"
.局部变量 局_窗口数目, 整数型
局_进程ID数目 = 进程_取ID数组 (“QQ.exe”, 局_进程ID数组)
计次 = 1
局_窗口数目 = 窗口_枚举窗口句柄 (局_进程ID数组)
.计次循环首 (局_窗口数目, i)
  局_窗口标题 = 窗口_取标题 (局_进程ID数组 [i])
  .如果真 (寻找文本 (局_窗口标题, “qqexchangewnd_shortcut_prefix”, , 假) ≠ -1)
    局_分割的文本 = 分割文本 (局_窗口标题, “_”, )
    .判断开始 (计次 = 局_进程ID数目)
      局_变量文本 = 局_变量文本 + 局_分割的文本 [取数组成员数 (局_分割的文本)]
      计次 = 计次 + 1
    .默认
      局_变量文本 = 局_变量文本 + 局_分割的文本 [取数组成员数 (局_分割的文本)] + #换行符
      计次 = 计次 + 1
    .判断结束
  .如果真结束
  .如果真 (计次 > 局_进程ID数目)
    跳出循环 ()
  .如果真结束
.计次循环尾 ()
返回 (局_变量文本)

运行结果:

总结

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

(0)

相关推荐

  • 易语言的进程检测程序制作

    许多易语言新手朋友在制作软件的过程中也许可能会碰到需要为自己的程序增加一个检测进程的功能,可能是为了防止自己的程序被其他工具修改或者其他目的,但是却又不知道怎么编写代码,所以为了帮助大家解决这个问题,今天小编就来叫大家如何用易语言编写一个检测指定进程的工具. 1.首先,我们先将界面画好,如图所示. 2.接着双击启动窗口跳转到代码编辑区域开始写代码.接着双击启动窗口跳转到代码编辑区域开始写代码. 3.首先我们新建一个子程序,用来检测指定进程是否存在的,相当于程序的核心部分了.将子程序命名为"进程是

  • 易语言检测文件被哪个进程占用的代码

    检测文件占用的代码 此功能需要加载贝贝吧模块6.6 .版本 2 .支持库 eAPI .程序集 窗口程序集_启动窗口 .子程序 _查询按钮_被单击 .局部变量 进程名, 进程信息, , "0" .局部变量 进程id, 整数型, , "0" .局部变量 a, 整数型, , "0" .局部变量 i, 整数型 进程名 = 取系统进程列表 () 显示占用列表框.清空 () .计次循环首 (取数组成员数 (进程名), i) .如果真 (寻找文本 (到小写 (

  • 易语言获取进程id的方法

    本文介绍如何通过易语言,来获取进程ID.(本次教程不需要用到dll和模块,十分简单) 1.启动易语言,新建"Windows窗口程序". 2.建立一个"按钮" 3.双击"按钮" 4.放入以下代码: .版本 2 .支持库 eAPI .支持库 spec .程序集 窗口程序集1 .子程序 _按钮1_被单击 .局部变量 进程信息, 进程信息, , "0" .局部变量 n, 整数型 .局部变量 取进程ID, 整数型 进程信息 = 取系统进

  • 易语言优化进程内存方法

    本篇文章主要向您介绍如何使用编程软件"易语言"做到指定进程进行"内存优化" 1.启动"易语言". 2.选择"菜单栏"中的"f.程序",再在弹出的列表中选择"N.新建". 3.在弹出的标题为"新建:"的窗口中选择"Windows窗口程序",再点击标题为"确定(o)"的按钮. 4.在背景为灰色的,且标题为""(空

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

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

  • 易语言关于程序进程和线程的基础知识

    程序是计算机指令的集合,它以文件的形式存储在磁盘上. 进程:通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动. 进程是资源申请.调度和独立运行的单位,因此,它使用系统中的运行资源:而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源. 进程由两个部分组成: 1.操作系统用来管理进程的内核对象.内核对象也是系统用来存放关于进程的统计信息的地方. 2.地址空间.它包含所有可执行模块或DLL模块的代码和数据.它还包含动态内存分

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

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

  • 易语言调用GetUserPassWord.dll获取系统开机密码

    DLL命令表 .版本 2 .DLL命令 取开机密码, 文本型, "GetUserPassWord.dll", "GetUserPassWord", 公开 获取系统登录密码的代码 .版本 2 .程序集 窗口程序集1 .子程序 获取开机, 文本型 .局部变量 密码, 文本型 .局部变量 帐号, 文本型 .局部变量 最终文本, 文本型 帐号 = 读环境变量 ("USERNAME") 密码 = 取电脑开机密码 () 最终文本 = "密码类型:开

  • 易语言利用HOOK注入获取内容的代码

    DLL命令表 .版本 2 .DLL命令 RtlMoveMemory, 整数型, "kernel32.dll", "RtlMoveMemory" .参数 Destination, 整数型 .参数 Source, 整数型 .参数 Length, 整数型 .DLL命令 CreateWindowExA, 整数型 .参数 dwExStyle, 整数型 .参数 lpClassName, 文本型 .参数 lpWindowName, 文本型 .参数 dwStyle, 整数型 .参数

  • 易语言调用百度API获取IP归属地的代码

    常量据表 .版本 2 .常量 查ip地址, "<文本长度: 17>", , {"code":0,"data": 调用百度api获取ip归属地的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 取IP归属地_百度API, 文本型, 公开 .参数 IP地址, 文本型 .局部变量 Json, 类_json .局部变量 返回数据, 文本型 .局部变量 地区, 文本型 CoInitialize (0) 返

  • 易语言通过读取文件获取WIFI信息的代码

    常量数据表 .版本 2 .常量 常量_临时目录, "<文本长度: 28>", , c:\users\public\tmp_wifipath 本地WIFI密码配置读取的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 iext .支持库 eAPI .程序集 窗口程序集_启动窗口 .子程序 遍历文件 .如果 (文件是否存在 (#常量_临时目录)) 文件_枚举1 (#常量_临时目录, "*.xml", &S_遍历WIFI文件) .否则 信息框

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

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

  • 易语言获取已登录的QQ号码以及名称的方法

    取登陆QQ号以及名称的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 网页填表, 普通填表 .子程序 _读取按钮_被单击 .局部变量 数量, 文本型 .局部变量 i, 整数型 .局部变量 QQ, 文本型 .局部变量 名称, 文本型 显示选择列表框.清空 () 网页填表.初始化 (超文本浏览框1.取窗口句柄 ()) 数量 = 到文本 (网页填表.ULLI_取数量 ()) .计次循环首 (到整数 (数量), i) QQ = 到文本 (文本_取出中间文本

  • 易语言网页填表操作

    用易语言编程工具编写网页普通填表 1.用IE浏览器打开百度 2.运行精易编程助手,打开[网页分析]按钮 3.拖动蓝色圆形十字到百度首页 4.分析出的详细信息,查看按钮ID 5.点击精易编程助手中的[窗口探测]查看标题 6.打开易语言,创建窗口句柄 新建一个标签.按钮.编辑框 7.代码如下,一定要普通填表初始化 8. 代码如下:.版本 2.程序集 窗口程序集1.程序集变量 句柄, 整数型.子程序 _按钮1_被单击普通填表.初始化 (句柄)普通填表.文本框_写内容 ("1", 编辑框1.内

  • 易语言做软件更新的方法

    易语言做软件更新源码,利用QQ空间名称做更新,简单方便快速. 1.首先打开易语言,新建一个窗口. 2.分别在窗口添加3个编辑框,一个按钮. 编辑框2写入内容.注明:编辑框1带取网页源码内容,编辑框3是取编辑框1相应的内容,编辑框2内容是和编辑框3内容做对比,按钮1是用来判断编辑框2和编辑框3内容做对比. 3.进入空间QQ空间,修改QQ空间名称,修改"→"  "修改这中间数字即可" "←" 4.双击_启动窗口,写入相应的代码. .版本 2.支持库

随机推荐