服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 易语言 - 易语言枚举进程通过窗口句柄获取已经登录的QQ号码

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

2022-02-21 16:25易语言源码教程 易语言

今天小编就为大家分享一篇关于易语言枚举进程通过窗口句柄获取已经登录的QQ号码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

DLL命令表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.版本 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"
  .参数 源窗口, 整数型
  .参数 关系, 整数型

自定义数据类型表

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
.版本 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数目)
    跳出循环 ()
  .如果真结束
.计次循环尾 ()
返回 (局_变量文本)

运行结果:

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

总结

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

延伸 · 阅读

精彩推荐
  • 易语言一步一步跟我学易语言之第二个易程序菜单设计

    一步一步跟我学易语言之第二个易程序菜单设计

    今天小编就为大家分享一篇关于的一步一步跟我学易语言之第二个易程序菜单设计,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要...

    易语言帮助手册7092021-06-17
  • 易语言实例操作易语言载入窗口

    实例操作易语言载入窗口

    在本文中小编给大家整理的是关于易语言载入窗口的教程和步骤内容,需要的可以跟着学习下...

    易语言教程网19162022-03-02
  • 易语言一步一步跟我学易语言之关于变量

    一步一步跟我学易语言之关于变量

    今天小编就为大家分享一篇关于一步一步跟我学易语言之关于变量,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    易语言帮助手册10822021-06-17
  • 易语言易语言在画板中写出指定文本当画板中已满会自动滚屏

    易语言在画板中写出指定文本当画板中已满会自动滚屏

    今天小编就为大家分享一篇关于易语言在画板中写出指定文本当画板中已满会自动滚屏,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,...

    易语言帮助手册9092022-01-12
  • 易语言易语言设置进度条边框样式的方法

    易语言设置进度条边框样式的方法

    今天小编就为大家分享一篇关于易语言设置进度条边框样式的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    易语言帮助手册4422022-01-20
  • 易语言易语言获取指定磁盘的名称

    易语言获取指定磁盘的名称

    今天小编就为大家分享一篇关于易语言获取指定磁盘的名称,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来...

    易语言帮助手册12662022-01-04
  • 易语言易语言关于程序进程和线程的基础知识

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

    今天小编就为大家分享一篇关于易语言关于程序进程和线程的基础知识,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    三叶资源网6662022-02-24
  • 易语言易语言生成exe文件的方法

    易语言生成exe文件的方法

    在本篇内容中小编给大家分享的是关于易语言生成exe文件的方法知识点,需要的朋友们参考下。...

    易语言教程网14792022-03-01