Skip to content

Commit

Permalink
public java WeChatSDK v1.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
anhkgg committed Mar 3, 2019
1 parent 91f4341 commit 997fddd
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 14 deletions.
15 changes: 2 additions & 13 deletions docs/sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ WeChatRs -> WeChatRc -> WeChatSDK -> WeChatSDKCore

```
int WXOpenWechat();
启动微信,支持多开。返回值是微信进程pid,需保存用于后续接口调用。pid即代表多开的每个微信进程,指定pid调用接口使用操作对应的微信。
启动微信,支持多开。返回值是微信进程pid,需保存用于后续接口调用。pid即代表多开的每个微信进程,指定pid调用接口使用操作对应的微信。**注意:该接口需要管理员权限。**
bool WXIsWechatAlive(DWORD pid);
检查微信是否启动成功,pid是WXOpenWechat返回值。返回true为成功。
Expand Down Expand Up @@ -80,18 +80,7 @@ int WXSendTextMsg(DWORD pid, const wchar_t* wxid, const wchar_t* msg);

详细请参考`WeChatSDKTest`使用方法。

另外同步发布`Python`版本的接口,具体使用见`src/WeChatSDKPy/sdk.py`

```
wxsdk = WXSDK()
print(wxsdk.WXOpenWechat())
input("wait for...")
print(wxsdk.WXIsWechatAlive())
print(wxsdk.WXIsWechatSDKOk())
print(wxsdk.WXInitialize())
input("wait for...")
print(wxsdk.WXSendTextMsg("wxid_n11111", "This is a python sdk test msg"))
```
其他语言接口请看[文档](sdkmore.md),目前已经发布`Python``Java`接口。

## TODO

Expand Down
53 changes: 53 additions & 0 deletions docs/sdkmore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@

`WeChatSDK`其他语言接口文档。

## Python

发布`Python`版本的接口,具体使用见`src/WeChatSDKPy/sdk.py`

```
//需管理员运行python
wxsdk = WXSDK()
print(wxsdk.WXOpenWechat())
input("wait for...")
print(wxsdk.WXIsWechatAlive())
print(wxsdk.WXIsWechatSDKOk())
print(wxsdk.WXInitialize())
input("wait for...")
print(wxsdk.WXSendTextMsg("wxid_n11111", "This is a python sdk test msg"))
```

## Java

发布`Java`版本的接口,具体使用见`src/WeChatSDKJava/WeChatSDK.java``TestJavaSDK.java`

由于`Java`接口使用了`jna`,所以需要下载[jna.jar](http://repo1.maven.org/maven2/net/java/dev/jna/jna/5.2.0/jna-5.2.0.jar),具体编译方法请查找`Java`相关文章。

```
//需管理员运行java
public class TestJavaSDK {
public static void main(String[] argv) throws Exception {
System.out.println("hello java WechatSDK");
int pid = WeChatSDK.sdk.WXOpenWechat();
if(pid <= 0) {
System.out.println("hello java WechatSDK");
return;
}
System.out.println("pid: " + pid);
System.out.println("wait for...");
System.in.read();
System.out.println(WeChatSDK.sdk.WXIsWechatAlive(pid));
System.out.println(WeChatSDK.sdk.WXIsWechatSDKOk(pid));
System.out.println(WeChatSDK.sdk.WXInitialize(pid));
System.out.println("wait for...");
System.in.read();
System.out.println(WeChatSDK.sdk.WXSendTextMsg(pid, new WString("wxid_11111"), new WString("This is a java sdk test msg")));
System.in.read();
}
}
```

2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
3. 语音消息备份(`>=2.6.6.28`
4. 消息发送接口(`>=2.6.6.44`

**`WeChatSDK`目前已经开放`C++``Python`接口。**
**`WeChatSDK`目前已经开放`C++``Python``Java`接口。**具体请看[WeChatSDK开发指南](docs/sdk.md)

更新详情请看[更新日志](update.md)

Expand Down
30 changes: 30 additions & 0 deletions src/WeChatSDKJava/TestJavaSDK.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import com.sun.jna.Library;
import com.sun.jna.WString;

//https://www.cnblogs.com/huangzijian/p/6638710.html

public class TestJavaSDK {
public static void main(String[] argv) throws Exception {
System.out.println("hello java WechatSDK");

int pid = WeChatSDK.sdk.WXOpenWechat();
if(pid <= 0) {
System.out.println("hello java WechatSDK");
return;
}

System.out.println("pid: " + pid);

System.out.println("wait for...");
System.in.read();

System.out.println(WeChatSDK.sdk.WXIsWechatAlive(pid));
System.out.println(WeChatSDK.sdk.WXIsWechatSDKOk(pid));
System.out.println(WeChatSDK.sdk.WXInitialize(pid));
System.out.println("wait for...");
System.in.read();
System.out.println(WeChatSDK.sdk.WXSendTextMsg(pid, new WString("wxid_xxxx"), new WString("This is a java sdk test msg")));

System.in.read();
}
}
21 changes: 21 additions & 0 deletions src/WeChatSDKJava/WeChatSDK.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.WString;

//https://blog.csdn.net/gcangle/article/details/8504629

public interface WeChatSDK extends Library {
WeChatSDK sdk = (WeChatSDK)Native.loadLibrary("WeChatSDK", WeChatSDK.class);
public int WXOpenWechat();
public boolean WXIsWechatAlive(int pid);
public int WXInitialize(int pid);
public int WXUninitialize(int pid);
public boolean WXIsWechatSDKOk(int pid);

public int WXAntiRevokeMsg(int pid);
public int WXUnAntiRevokeMsg(int pid);
public int WXSaveVoiceMsg(int pid, WString path);
public int WXUnSaveVoiceMsg(int pid);

public int WXSendTextMsg(int pid, WString wxid, WString msg);
}

0 comments on commit 997fddd

Please sign in to comment.