xie-full


DLL接口使用

<p><strong>DLL接口</strong></p> <p>DLL有两个<code>WxLoader.dll</code>和<code>WeChatHelper.dll</code></p> <p><strong>DLL文件说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">文件名</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">WxLoader.dll</td> <td style="text-align: left;">管理端,用于多开微信和与微信交互</td> </tr> <tr> <td style="text-align: left;">WeChatHelper.dll</td> <td style="text-align: left;">客户端,用于注入微信内部,接收指令并发送数据给管理端</td> </tr> </tbody> </table> <p><code>WeChatHelper.dll可以以微信版本号做为名称,先使用GetUserWeChatVersion函数获取用户电脑上的微信版本,判断是否支持,如果支持,使用InjectWeChat注入dll</code></p> <p><strong>WxLoader.dll的导出函数:</strong></p> <ol> <li> <p>InitWeChatSocket <code>用于socket的回调处理</code> 函数原型: <code>BOOL __stdcall InitWeChatSocket(IN DWORD dwConnectCallback, IN DWORD dwRecvCallback, IN DWORD dwCloseCallback)</code> 其中dwConnectCallback是一个函数指针类型, 在有新客户端加入时调用,结构如下: <code>void __stdcall MyConnectCallback(int iClientId)</code> 传入的一个参数是socket的客户ID,返回值为空 dwRecvCallback是一个函数指针类型,在接收到新消息时调用,结构如下: <code>void __stdcall MyRecvCallback(int iClientId, char* szJsonData, int iLen)</code> dwCloseCallback是一个函数指针类型,在客户端退出时调用,结果如下: <code>void __stdcall MyCloseCallback(int iClientId)</code></p> </li> <li> <p>GetUserWeChatVersion <code>获取当前用户的电脑上安装的微信版本,如: 2.6.7.57</code> 函数原型: <code>BOOL __stdcall GetUserWeChatVersion(OUT LPSTR szVersion);</code> 传一个ANSI字符串缓冲区的指针,长度30即可, 这个函数可以先获取当前用户电脑上安装的微信版本,然后判断我们的dll是否支持,如果不支持就提示用户下载我们支持的版本。</p> </li> <li> <p>InjectWeChat <code>用于智能多开,并注入dll, 注入成功返回微信的进程ID, 失败返回0</code> 函数原型: <code>DWORD __stdcall InjectWeChat(IN LPCSTR szDllPath);</code> 如果需要一个软件,管理多个微信,多次调用这个函数实现,通过socket回调管理客户端</p> </li> <li> <p>SendWeChatData 用于向微信发送指令,指令内容参考功能类,· 函数原型: <code>BOOL __stdcall SendWeChatData(IN CONNID dwClientId, IN LPCSTR szJsonData);</code></p> </li> <li> <p>DestroyWeChat <code>主程序退出前,执行释放函数,用于卸载DLL和关闭socket服务端</code> 函数原型: <code>BOOL __stdcall DestroyWeChat();</code></p> </li> <li> <p>UseUtf8 <code>在所有接口前执行,执行后接口全部使用utf8编码传输</code> 函数原型: <code>BOOL __stdcall UseUtf8();</code></p> </li> <li>InjectWeChat2 <code>用于智能多开,跟InjectWeChat功能相同,多了一个参数传递指定微信路程,并注入dll, 注入成功返回微信的进程ID, 失败返回0</code> 函数原型: <code>DWORD __stdcall InjectWeChat(IN LPCSTR szDllPath, IN LPCSTR szWeChatExePath);</code> 如果需要一个软件,管理多个微信,多次调用这个函数实现,通过socket回调管理客户端</li> </ol>

页面列表

ITEM_HTML