个人微信Hook-C#Demo开发SDK

基础信息类
获取个人信息
从网络获取群成员信息
从网络获取个人信息
获取公众号信息
获取群组信息
获取群成员信息
获取单个好友信息
好友操作
修改好友备注
添加好友
删除好友
同意加好友请求
同意好友的进群邀请
接收好友的转账
群操作类
删除并退出
保存到/移出通讯录
是否显示群成员呢称
修改我在本群的呢称
修改公告
修改群名称
踢出群成员
邀请好友进群
创建群聊
发送信息
发送名片
发链接
发图片
发文件
发视频
发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/505015445242065?page_id=2980813708300422
个人微信Hook-C#Demo开发SDK的更多相关文章
- 个人微信号二次开发SDK协议,个人微信号二次开发api接口
通过这个API接口可以做什么? 通过我们提供的API接口您可以开发: 工作手机(如:X创,X码,XX管家等) 微信群讲课软件(如:讲课X师,一起X堂等) 微信社群管理软件(如:小X管家,微X助手等) ...
- 分享 Java微信开发SDK
分享 Java微信开发SDK •发布于 4周前 •作者 朋也 •432 次浏览 •最后一次编辑是 2周前 •来自 分享 给大家分享两个java开发微信公众号的sdk jfinal-weixin ...
- VopSdk一个高逼格微信公众号开发SDK(源码下载)
看之前回复很多说明大家很有热情&文章被误删掉了,不想让有的朋友错失这个高逼格的东西,现在重新发布,这次就直接放出源码,文章最末下载地址. 看之前回复很多说明大家很有热情&文章被误删掉了 ...
- VopSdk一个高逼格微信公众号开发SDK:自动化生产(装逼模式开启)
VopSdk一个高逼格微信公众号开发SDK(源码下载) VopSdk一个高逼格微信公众号开发SDK:自动化生产(装逼模式开启) 针对第一版,我们搞了第二版本,老规矩先定个目标. 一 我们的目标 a.移 ...
- 微信开发SDK支持小程序 ,Jeewx-Api 1.3.1 版本发布
JEEWX-API 是一款JAVA版的微信开发SDK,支持微信公众号.小程序.微信企业号.支付宝生活号SDK和微博SDK.你可以基于她 快速的傻瓜化的进行微信开发.支付窗开发和微博开发. 基于jeew ...
- 实战:微信小程序支付开发具体流程
来源:授权地址作者:会编码的熊 该文章纪录了我在开发小程序支付过程中的具体流程 1. 申请微信支付 小程序认证后进入微信支付申请小程序的微信支付 填写企业信息对公账户并上传凭证后,微信支付会打一笔随机 ...
- 微信开发系列——微信订阅号前端开发利器:WeUI
前言:年前的两个星期,学习了下微信公众号的开发.后端基本能够基于盛派的第三方sdk能搞定大部分事宜.剩下的就是前端了,关于手机端的浏览器的兼容性,一直是博主的一块心病,因为博主一直专注于bootstr ...
- 微控工具xp模块-开发版[微信(wechat)二次开发模块]
http://repo.xposed.info/module/com.easy.wtool 微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方 ...
- Android开发SDK接入机智云,智能家居实现APP远程控制多设备
代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...
随机推荐
- LCA最近公共祖先---倍增法笔记
先暂时把模板写出来,A几道题再来补充 此模板也是洛谷上的一道模板题 P3379 [模板]最近公共祖先(LCA) #pragma GCC optimize(2) //o2优化 #include < ...
- 常见ASP脚本攻击及防范技巧
由于ASP的方便易用,越来越多的网站后台程序都使用ASP脚本语言.但是, 由于ASP本身存在一些安全漏洞,稍不小心就会给黑客提供可乘之机.事实上,安全不仅是网管的事,编程人员也必须在某些安全细节上注意 ...
- pip安装第三方库
不是所有的第三方Python包都能通过pip来安装,只能是发布在pypi.org上面的才能通过pip安装. pypi是什么? pypi是一个仓库,上面存放了大量的Python第三方软件包,是由Pyth ...
- 2015-11-17 linux基础笔记
21. 可执行权限不代表能够执行,这得看文件内容 22. 还是可以用适当的拓展名表示该文件是什么种类的*.sh 脚本或批处理文件 *Z.*.tar.*.tar.gz.*.zip.*.tgz 压缩文件 ...
- SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解
转自 SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 本系列文章首发于我的个人博客:https://h2pl.github.io/ 欢迎阅览我的CSDN专栏:Spring源码 ...
- (四十八)c#Winform自定义控件-下拉按钮
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- tf.nn.l2_loss()的用法
https://blog.csdn.net/yangfengling1023/article/details/82910536
- windows安装elasticsearch服务以及elasticsearch5.6.10集群的配置(elasticsearch5.6.10配置跟1.1.1的配置不太相同,有些1.1.1版本下的配置指令在5.6.10中不能使用)
1.下载elasticsearch5.6.10安装包 下载地址为: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearc ...
- CodeForces 1058E
题意略. 思路:本题有两个关键点: 一.满足题设的区间条件 1.区间内1的个数和为偶数 2.区间内含1个数最多的那一项,它所含1的个数不得超过区间内1的个数和的一半. 二.长度超过60的区间必然满足上 ...
- IO核心子系统
IO核心子系统 一.IO层次结构 IO实现普遍采用了层次式的结构.其基本思想与计算机网络中的层次结构相同:将系统IO的功能组织成一系列的层次,每一层完成整个系统功能的一个子集,其实现依赖于下层完成更原 ...