Skip to content

Commit c3bd8f3

Browse files
新增dll接口文档
1 parent 0e658e7 commit c3bd8f3

File tree

2 files changed

+99
-1
lines changed

2 files changed

+99
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ wxwork_pc_api 使用HOOK技术将核心功能封装成dll,并提供简易的
2121
- [Python调用介绍](doc/python.md)
2222

2323

24-
正在补充,具体使用可以暂时参考samples/python/demo.py, 如下是python封装后的调用
24+
文档正在补充,具体使用可以暂时参考samples/python/demo.py, 如下是python封装后的调用
2525

2626
```python
2727
import wxwork

doc/dll.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# DLL介绍
2+
3+
dll文件有三个,分别是WxWorkHelper_3.0.14.1205.dll、WxWorkLoader_x86.dll和WxWorkLoader_x64.dll
4+
5+
# WxWorkHelper.dll
6+
7+
客户端程序,用于在企业微信程序内部与外界通信,用于接收指令和消息通知
8+
9+
# WxWorkLoader.dll
10+
11+
管理端程序,支持32位(WxWorkLoader_x86.dll)和64位(WxWorkLoader_x64.dll)调用, 用于智能管理企业微信,如管理已经打开的企业微信进程,多开企业微信。
12+
13+
提供的接口如下:
14+
1. GetUserWxWorkVersion
15+
16+
获取当前用户的电脑上安装的企业微信版本,如: 3.0.0.1001
17+
18+
函数定义:
19+
20+
`BOOL GetUserWxWorkVersion(OUT LPSTR szVersion)`
21+
22+
传一个ANSI字符串缓冲区的指针,长度30即可, 这个函数可以先获取当前用户电脑上安装的微信版本,然后判断我们的dll是否支持,如果不支持就提示用户下载我们支持的版本。
23+
24+
2. UseUtf8
25+
26+
在所有接口前执行,执行后接口全部使用utf8编码传输
27+
28+
函数定义:
29+
30+
`BOOL UseUtf8();`
31+
32+
33+
3. InitWxWorkSocket
34+
35+
用于socket的回调处理
36+
37+
函数定义:
38+
39+
`BOOL InitWxWorkSocket(IN DWORD dwConnectCallback, IN DWORD dwRecvCallback, IN DWORD dwCloseCallback)`
40+
41+
其中dwConnectCallback是一个函数指针类型, 在有新客户端加入时调用,结构如下:
42+
43+
`void MyConnectCallback(int iClientId)`
44+
45+
传入的一个参数是socket的客户ID,返回值为空
46+
47+
dwRecvCallback是一个函数指针类型,在接收到新消息时调用,结构如下:
48+
49+
`void MyRecvCallback(int iClientId, char* szJsonData, int iLen)`
50+
51+
dwCloseCallback是一个函数指针类型,在客户端退出时调用,结果如下:
52+
53+
`void MyCloseCallback(int iClientId)`
54+
55+
4. InjectWxWork
56+
57+
用于智能多开,并注入dll, 参数1:WxWorkHelper.dll路径,参数2:WXWork.exe路径,可传空,会读取企业微信安装目录, 注入成功返回企业微信的进程ID, 失败返回0
58+
59+
函数定义:
60+
61+
`DWORD InjectWxWork(IN LPCSTR szDllPath,IN LPCSTR szWxWorkExePath);`
62+
63+
64+
如果需要一个软件,管理多个企业微信,多次调用这个函数实现,通过socket回调管理客户端
65+
66+
5. InjectWxWorkPid
67+
注入指定的企业微信进程,参数1: WXWork.exe进程id, 参数2: dll路径
68+
69+
函数定义:
70+
71+
`DWORD InjectWxWorkPid(IN DWORD dwPid, IN LPCSTR szDllPath)`
72+
73+
6. InjectWxWorkMultiOpen
74+
75+
多开一个新的企业微信并注入,不维护已经打开的企业微信,需要两个参数,参数1:WxWorkHelper.dll的路径,参数2:指定要启动企业微信(WxWork.exe)的完整路径,如果不提供,可以设置0或空字符串,将自动读取企业微信的安装目录
76+
77+
函数定义:
78+
79+
`DWORD __stdcall InjectWxWorkMultiOpen(IN LPCSTR szDllPath, IN LPCSTR szWxWorkExePath);`
80+
81+
82+
7. SendWxWorkData
83+
84+
用于向企业微信发送指令,指令内容参考功能类。
85+
86+
函数定义:
87+
88+
` BOOL SendWxWorkData(IN CONNID dwClientId, IN LPCSTR szJsonData);`
89+
90+
8. DestroyWxWork
91+
92+
主程序退出前,执行释放函数,用于卸载DLL和关闭socket服务端
93+
94+
函数定义:
95+
96+
`BOOL DestroyWxWork();`
97+
98+

0 commit comments

Comments
 (0)