在网上看到一个C++代码示例:

原文地址:http://bbs.pediy.com/thread-217610.htm

觉得这是一个很好的调用 windows api 的示例,故将其转换成了 delphi xe8

源码下载:OpenNewWechat

下面给出所用到的windows api 定义

unit uWinApi;// http://bbs.pediy.com/thread-217610.htm
// 微信(WeChat)电脑端多开分析+源码{  感谢原文提供的代码和 exe晓不得2013 qq 265627292017-07-04// 本代码是学习 win api 的一个经典示例// 希望您会有所收获
}
interfaceuseswindows, TLHelp32, Generics.collections;typePSystemHandle = ^TSystemHandle; // 此结构体未公开,找了很久才弄正确。
TSystemHandle = packed record // 共16字节. 长度一定要准确。否则,后面没法玩。
    dwProcessID: THandle;bObjectType: Byte;bflags: Byte;wValue: Word;GrantedAcess: Int64;end;PSystemHandleList = ^TSystemHandleList;TSystemHandleList = recorddwHandleCount: Cardinal; // 获取到的结果前4个字节,表示数量// 后面的就每 16 个字节一组,表示一个 TSystemHandleHandles: array of TSystemHandle; // 定义成下面这样,亦可行。// Handles:TSystemHandle; 只是不便于理解end;PProcessRec = ^TProcessRec;TProcessRec = recordProcessName: string;ProcessID: THandle;end;TProcessRecList = class(TList<PProcessRec>)publicprocedure FreeAllItem;end;// win 规则下,都是让调用者传入 buff 长度,然后检查这个长度是否合适// 如果不够,就返回一个错误,并且在 ASize 中指明需要的长度// 以便调用者重新分配 buff 再次调用// ASysInfoCls 是查询什么类别。 MS 没有全部公开. $10 为 SystemHanle.// ASysInfo 理解为 Buff 就行了。
function ZwQuerySystemInformation(ASysInfoCls: Integer; ASysInfo: Pointer; ABufLen: Cardinal;var ASize: Cardinal): Cardinal; stdcall; external 'ntdll.dll';function NtQueryObject(Ahandle: THandle; AQuertyIndex: Integer; ABuff: Pointer; ABuffSize: Cardinal;var ASize: Cardinal): Cardinal; stdcall; external 'ntdll.dll';// 获取当前的进程
function GetAllProcess: TProcessRecList;implementation{ TProcessRecList }procedure TProcessRecList.FreeAllItem;
varp: PProcessRec;
beginfor p in self doDispose(p);
end;function GetAllProcess: TProcessRecList;
varEntry32: TProcessEntry32W;SnapshotHandle: THandle;Found: boolean;sExeFileName: string;p: PProcessRec;
beginResult := TProcessRecList.Create;SnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);Entry32.dwSize := sizeof(Entry32);Found := Process32First(SnapshotHandle, Entry32);while Found dobeginnew(p);Result.Add(p);sExeFileName := Entry32.szExeFile;p.ProcessName := sExeFileName;p.ProcessID := Entry32.th32ProcessID;Found := Process32Next(SnapshotHandle, Entry32);end;CloseHandle(SnapshotHandle);
end;end.

转载于:https://www.cnblogs.com/lackey/p/7144778.html

delphi 微信(WeChat)多开源代码相关推荐

  1. 微信小程序开源代码汇总分享【转载】

    https://github.com/opendigg/awesome-github-wechat-weapp awesome-github-wechat-weapp 是由OpenDigg整理并维护的 ...

  2. 苹果开源代码中惊现“wechat”,老外注释的吐槽亮了!

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 每个科技大厂的开源项目,几乎都是各领域开发者最重要的研究学习 ...

  3. “熊孩子”乱敲键盘攻破 Linux 桌面;苹果开源代码被发现包含兼容微信的代码;网传蚂蚁启用OKR替代KPI | EA周报...

    EA周报 2021年1月22日 每个星期7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 周报看点 1.Flutter 在鸿蒙系统上成功运行 2."熊孩子"乱 ...

  4. 效果最接近《羊了个羊》(卡牌堆叠游戏)的开源代码 微信小程序开源了

    ⭐零.教程概述 效果最接近<羊了个羊>(卡牌堆叠游戏)的开源代码,有数据库和关卡. 我写的程序是指 卡牌堆叠游戏 ,效果与羊了个羊一致.本教程有已有两个版本. 本来是想着Fork多一点的时 ...

  5. 微信小程序商城源码独立版/公众号/H5/DIY装修/营销/直播/拼团/秒杀/前端vue全开源代码

    软件优势: 一键开关商城功能,模板消息,diy自定义商城首页.会员中心. hinkphp6国内流行的PHP框架,结构代码清晰,适合中小企业快速开发应用. uniapp一套代码多个平台,开发不浪费,账号 ...

  6. 微信 WCDB 正式开源——高效易用的移动数据库框架

    前沿介绍 腾讯开源微信数据库框架WCDB,他是一个高效.完整.易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android. 便捷地定义表.索引.约束,并进行增删改查操作 项 ...

  7. 完整复现何恺明ICCV获奖论文结果并开源 !(附论文开源代码)

    ICCV 作为计算机视觉的顶级会议,2017年共收到2143篇论文投稿,比上一届ICCV2015的1698篇增加了26.2%.共621篇被选为大会论文,录用比例28.9%:poster.spotlig ...

  8. 微信小程序开源项目库汇总-持续更新

    微信小程序开源项目库汇总,里面集合了OpenDigg 上的优质的微信小程序开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等 UI组件 weui-wxss ★852 - 同微信原生视觉体验一致 ...

  9. 激光雷达和相机联合标定之开源代码和软件汇总(2004-2021)

    作者丨十点雨@知乎 来源丨https://zhuanlan.zhihu.com/p/404762012 编辑丨3D视觉工坊 LiDAR Camera Calibration (LCC)系列,主要介绍激 ...

最新文章

  1. 博客园添加访问次数统计
  2. mapgis转arcgis数据后发现属性表内没有数据
  3. Win7系统默认浏览器的更改教程
  4. Codeforces Round #378 (Div. 2) D. Kostya the Sculptor 分组 + 贪心
  5. php开发环境配置 iis6+php-5.2.1-Win32+mysql-5.0.18-win32+phpMyAdmin-2.7.0-pl2快速安装
  6. 【小样本·多分类】如何解决「小样本」+「多分类」问题?
  7. kafka consumer group 定义
  8. Linux系统编程 -- volatile关键字
  9. Facebook、亚马逊等巨头是如何建造自己的数据库的?
  10. SPSS 的安装与概貌-第一章
  11. 玩转 ESP32 + Arduino (十九) SIM800L上传数据到OneNet(新版Mqtts)
  12. 通达信指标公式编写基础(一)
  13. UE官网ARPG游戏学习笔记1
  14. 离散型制造业数字化转型难点与转型方向
  15. A-Level经济真题每期一练(19)
  16. 现实中的无人机也可以像蜘蛛侠一样“吐丝”了
  17. 5G支持下,人工智能除了AI换脸,还能干什么?
  18. zeppelin使用中的问题汇总
  19. CAN总线隔离器 插入式CAN总线隔离器
  20. html大作业网页代码 html期末作业代码网页设计——食品网5页面模板 HTML+CSS+JavaScript 学生DW网页设计作业成品

热门文章

  1. R(2+1)D理解与MindSpore框架下的实现
  2. 适配器模式(包装模式)和代理模式的区别
  3. 小程序接入vant Weapp组件的详细步骤
  4. c语言实现两分钟倒计时
  5. 如何精准选型物联网开发平台?
  6. 谷歌将关闭物联网开发平台 Android Things
  7. Day7--复数和复变函数之复数运算基础
  8. 环信大学:基于韧性服务的航司退改签智能化变革
  9. 尚硅谷 宋红康 JVM教程_02_字节码与类的加载篇
  10. Antenna Magus,值得推荐的2.45GHz天线(Bluetooth 蓝牙天线 和 WiFi天线)仿真工具