个人微信Hook-开发SDK-C#Demo
Posted bqh10086
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人微信Hook-开发SDK-C#Demo相关的知识,希望对你有一定的参考价值。
基础信息类
获取个人信息
从网络获取群成员信息
从网络获取个人信息
获取公众号信息
获取群组信息
获取群成员信息
获取单个好友信息
好友操作
修改好友备注
添加好友
删除好友
同意加好友请求
同意好友的进群邀请
接收好友的转账
群操作类
删除并退出
保存到/移出通讯录
是否显示群成员呢称
修改我在本群的呢称
修改公告
修改群名称
踢出群成员
邀请好友进群
创建群聊
发送信息
发送名片
发链接
发图片
发文件
发视频
发gif
发文本
接收信息
接收文本信息
接收图片信息
接收名片
接收视频
接收表情
接收位置
接收系统消息
接收撤回消息
接收其它消息
Demo源码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WxHookDemo
public partial class FormMain : Form
public delegate void AcceptCallbackFunc(uint dwClientId);
public delegate void RecvCallbackFunc(uint dwClientId, IntPtr intPtr, uint dwSize);
public delegate void CloseCallbackFunc(uint dwClientId);
private static AcceptCallbackFunc m_AcceptCallbackFunc;
private static RecvCallbackFunc m_RecvCallbackFunc;
private static CloseCallbackFunc m_CloseCallbackFunc;
// 引入DLL导出函数
[DllImport("WxLoader.dll")]
public static extern bool InitWeChatSocket(AcceptCallbackFunc acceptCallback,
RecvCallbackFunc recvCallback, CloseCallbackFunc closeCallback);
[DllImport("WxLoader.dll")]
public static extern uint InjectWeChat(String strDllPath);
[DllImport("WxLoader.dll")]
public static extern bool SendWeChatData(uint dwClienId, String strJsonData);
[DllImport("WxLoader.dll")]
public static extern bool DestroyWeChat();
// 建一个主窗口的实例,让静态方法可以访问
public static FormMain Instance = null;
// 存一个clientId,用于发送消息 (多客户端自己来维护clientId)
public static uint WxClientId = 0;
// 注入成功回调
static void WxAcceptCallback(uint dwClientId)
FormMain.WxClientId = dwClientId;
FormMain.Instance.textBoxLog.BeginInvoke(new Action(() => FormMain.Instance.textBoxLog.AppendText("Accept\n"); ));
// 接收消息回调
static void WxRecvCallback(uint dwClient, IntPtr intPtr, uint dwSize)
String recvData = Marshal.PtrToStringAnsi(intPtr);
FormMain.Instance.Invoke(new Action<String>(FormMain.Instance.textBoxLog.AppendText), recvData + "\n");
// 关闭回调
static void WxCloseCallback(uint dwClient)
FormMain.Instance.Invoke(new Action<String>(FormMain.Instance.textBoxLog.AppendText), "Close\n");
public FormMain()
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
private void buttonOpen_Click(object sender, EventArgs e)
// 注入并多开
String dllPath = System.IO.Directory.GetCurrentDirectory() + "\\WeChatHelper.dll";
InjectWeChat("WeChatHelper.dll");
private void buttonSend_Click(object sender, EventArgs e)
// 构造json消息,可使用相关Json库
String strMsg = "\"type\": 11036, \"data\":\"to_wxid\":\"" +
textBoxWxid.Text + "\", \"content\":\"" + textBoxMsg.Text + "\"";
SendWeChatData(WxClientId, strMsg);
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
// 释放Socket并卸载注入的dll
DestroyWeChat();
private void FormMain_Load(object sender, EventArgs e)
Instance = this;
m_AcceptCallbackFunc = WxAcceptCallback;
m_RecvCallbackFunc = WxRecvCallback;
m_CloseCallbackFunc = WxCloseCallback;
// 初始化Callback
InitWeChatSocket(m_AcceptCallbackFunc, m_RecvCallbackFunc, m_CloseCallbackFunc);
private void button1_Click(object sender, EventArgs e)
// 构造json消息,可使用相关Json库
String strMsg = "\"type\": 11030";
SendWeChatData(WxClientId, strMsg);
https://www.showdoc.cc/473071856852406?page_id=2765691998439849
以上是关于个人微信Hook-开发SDK-C#Demo的主要内容,如果未能解决你的问题,请参考以下文章