日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

delphi 微信(WeChat)多开源代码

發(fā)布時(shí)間:2024/3/24 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi 微信(WeChat)多开源代码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在網(wǎng)上看到一個(gè)C++代碼示例:

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

覺(jué)得這是一個(gè)很好的調(diào)用 windows api 的示例,故將其轉(zhuǎn)換成了 delphi xe8?

源碼下載:OpenNewWechat

下面給出所用到的windows api 定義

unit uWinApi;// http://bbs.pediy.com/thread-217610.htm // 微信(WeChat)電腦端多開(kāi)分析+源碼{ 感謝原文提供的代碼和 exe曉不得2013 qq 265627292017-07-04// 本代碼是學(xué)習(xí) win api 的一個(gè)經(jīng)典示例// 希望您會(huì)有所收獲 } interfaceuseswindows, TLHelp32, Generics.collections;typePSystemHandle = ^TSystemHandle; // 此結(jié)構(gòu)體未公開(kāi),找了很久才弄正確。 TSystemHandle = packed record // 共16字節(jié). 長(zhǎng)度一定要準(zhǔn)確。否則,后面沒(méi)法玩。 dwProcessID: THandle;bObjectType: Byte;bflags: Byte;wValue: Word;GrantedAcess: Int64;end;PSystemHandleList = ^TSystemHandleList;TSystemHandleList = recorddwHandleCount: Cardinal; // 獲取到的結(jié)果前4個(gè)字節(jié),表示數(shù)量// 后面的就每 16 個(gè)字節(jié)一組,表示一個(gè) TSystemHandleHandles: array of TSystemHandle; // 定義成下面這樣,亦可行。// Handles:TSystemHandle; 只是不便于理解end;PProcessRec = ^TProcessRec;TProcessRec = recordProcessName: string;ProcessID: THandle;end;TProcessRecList = class(TList<PProcessRec>)publicprocedure FreeAllItem;end;// win 規(guī)則下,都是讓調(diào)用者傳入 buff 長(zhǎng)度,然后檢查這個(gè)長(zhǎng)度是否合適// 如果不夠,就返回一個(gè)錯(cuò)誤,并且在 ASize 中指明需要的長(zhǎng)度// 以便調(diào)用者重新分配 buff 再次調(diào)用// ASysInfoCls 是查詢(xún)什么類(lèi)別。 MS 沒(méi)有全部公開(kāi). $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';// 獲取當(dāng)前的進(jìn)程 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.

?

轉(zhuǎn)載于:https://www.cnblogs.com/lackey/p/7144778.html

總結(jié)

以上是生活随笔為你收集整理的delphi 微信(WeChat)多开源代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。