易语言UTF8版本demo
<p><code>注意,精易模块请使用6.8,6.9版本的 最新版本编码转换函数有bug </code></p>
<p>DLL程序集</p>
<pre><code>.版本 2
.DLL命令 DLL_GetUserWeChatVersion, 整数型, &quot;WxLoader.dll&quot;, &quot;GetUserWeChatVersion&quot;
.参数 szVersion, 文本型
.DLL命令 DLL_InitWeChatSocket, , &quot;WxLoader.dll&quot;, &quot;InitWeChatSocket&quot;
.参数 pAccpetCallback, 子程序指针
.参数 pRecvCallback, 子程序指针
.参数 pCloseCallback, 子程序指针
.DLL命令 DLL_InjectWeChat, 整数型, &quot;WxLoader.dll&quot;, &quot;InjectWeChat&quot;, , 返回微信的进程ID,若值为0,则注入失败
.参数 DLL路径, 字节集
.DLL命令 DLL_InjectWeChat2, 整数型, &quot;WxLoader.dll&quot;, &quot;InjectWeChat2&quot;, , 返回微信的进程ID,若值为0,则注入失败
.参数 DLL路径, 文本型
.参数 WeChatExe路径, 文本型
.DLL命令 DLL_SendWeChatData, 整数型, &quot;WxLoader.dll&quot;, &quot;SendWeChatData&quot;
.参数 dwClientId, 整数型
.参数 szJsonData, 字节集
.DLL命令 DLL_DestroyWeChat, 整数型, &quot;WxLoader.dll&quot;, &quot;DestroyWeChat&quot;
.DLL命令 DLL_UseUtf8, 整数型, &quot;WxLoader.dll&quot;, &quot;UseUtf8&quot;
</code></pre>
<p>窗口程序集</p>
<pre><code>.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
DLL_UseUtf8 ()
DLL_InitWeChatSocket (&amp;客户端连接回调, &amp;接收数据回调, &amp;客户端关闭回调)
.子程序 客户端连接回调
.参数 客户ID, 整数型
_启动窗口.消息日志.加入文本 (“有客户端进入,ID: ” + 到文本 (客户ID))
.子程序 客户端关闭回调
.参数 客户ID, 整数型
_启动窗口.消息日志.加入文本 (“有客户端退出,ID: ” + 到文本 (客户ID) + #换行符 + #换行符)
.子程序 接收数据回调
.参数 客户ID, 整数型
.参数 JSON数据, 整数型
.参数 数据长度, 整数型
.局部变量 utf8Data, 字节集
.局部变量 ansiData, 文本型
.局部变量 unicodeData, 字节集
utf8Data = 指针_到字节集 (JSON数据, 数据长度)
ansiData = 编码_Utf8到Ansi (utf8Data)
_启动窗口.消息日志.加入文本 (ansiData + #换行符 + #换行符)
.子程序 _按钮1_被单击
.局部变量 utf8Path, 字节集
.局部变量 szDllPath, 文本型
.局部变量 pid, 整数型
szDllPath = 取运行目录 () + “\WeChatHelper.dll”
utf8Path = 编码_Ansi到Utf8 (szDllPath)
pid = DLL_InjectWeChat (utf8Path)
调试输出 (“进程ID:” + 到文本 (pid))
</code></pre>