基础信息类

获取个人信息
从网络获取群成员信息
从网络获取个人信息
获取公众号信息
获取群组信息
获取群成员信息
获取单个好友信息

好友操作

修改好友备注
添加好友
删除好友
同意加好友请求
同意好友的进群邀请
接收好友的转账

群操作类

删除并退出
保存到/移出通讯录
是否显示群成员呢称
修改我在本群的呢称
修改公告
修改群名称
踢出群成员
邀请好友进群
创建群聊

发送信息

发送名片
发链接
发图片
发文件
发视频
发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的更多相关文章

  1. 个人微信号二次开发SDK协议,个人微信号二次开发api接口

    通过这个API接口可以做什么? 通过我们提供的API接口您可以开发: 工作手机(如:X创,X码,XX管家等) 微信群讲课软件(如:讲课X师,一起X堂等) 微信社群管理软件(如:小X管家,微X助手等) ...

  2. 分享 Java微信开发SDK

    分享 Java微信开发SDK •发布于 4周前  •作者 朋也  •432 次浏览  •最后一次编辑是 2周前  •来自 分享 给大家分享两个java开发微信公众号的sdk jfinal-weixin ...

  3. VopSdk一个高逼格微信公众号开发SDK(源码下载)

    看之前回复很多说明大家很有热情&文章被误删掉了,不想让有的朋友错失这个高逼格的东西,现在重新发布,这次就直接放出源码,文章最末下载地址. 看之前回复很多说明大家很有热情&文章被误删掉了 ...

  4. VopSdk一个高逼格微信公众号开发SDK:自动化生产(装逼模式开启)

    VopSdk一个高逼格微信公众号开发SDK(源码下载) VopSdk一个高逼格微信公众号开发SDK:自动化生产(装逼模式开启) 针对第一版,我们搞了第二版本,老规矩先定个目标. 一 我们的目标 a.移 ...

  5. 微信开发SDK支持小程序 ,Jeewx-Api 1.3.1 版本发布

    JEEWX-API 是一款JAVA版的微信开发SDK,支持微信公众号.小程序.微信企业号.支付宝生活号SDK和微博SDK.你可以基于她 快速的傻瓜化的进行微信开发.支付窗开发和微博开发. 基于jeew ...

  6. 实战:微信小程序支付开发具体流程

    来源:授权地址作者:会编码的熊 该文章纪录了我在开发小程序支付过程中的具体流程 1. 申请微信支付 小程序认证后进入微信支付申请小程序的微信支付 填写企业信息对公账户并上传凭证后,微信支付会打一笔随机 ...

  7. 微信开发系列——微信订阅号前端开发利器:WeUI

    前言:年前的两个星期,学习了下微信公众号的开发.后端基本能够基于盛派的第三方sdk能搞定大部分事宜.剩下的就是前端了,关于手机端的浏览器的兼容性,一直是博主的一块心病,因为博主一直专注于bootstr ...

  8. 微控工具xp模块-开发版[微信(wechat)二次开发模块]

    http://repo.xposed.info/module/com.easy.wtool   微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方 ...

  9. Android开发SDK接入机智云,智能家居实现APP远程控制多设备

    代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...

随机推荐

  1. Oracle中的日期函数

    (一)查询系统的当前日期用sysdate,用法如下: select sysdate from dual 日期操作的三个格式: 日期-数字=日期 日期+=日期 日期-日期=数字(天数) (二)常用的日期 ...

  2. Top11 构建和测试API的工具

    立刻像专业人士一样构建API 组织正在改变他们已经在软件应用项目中成功的微服务架构模型,这就是大多数微服务项目使用API(应用程序接口)的原因. 我们要为微服务喝彩,因为它相对于其他的模型有各种先进的 ...

  3. CNN中1x1 卷积的处理过程及作用

    参看:https://blog.csdn.net/ybdesire/article/details/80314925

  4. Javaweb简介

    Javaweb简介 一.什么是Javaweb? 在Sun的Java Servlet规范中,对Java Web应用作了这样定义:“Java Web应用由一组Servlet.HTML页.类.以及其它可以被 ...

  5. 六.html基础

    web前端前几个月学过一段时间,现在在学习一遍,当作复习,最重要的看看web渗透常用的标签! <html></html>  不带任何属性 <body></bo ...

  6. Mac os 下 python爬虫相关的库和软件的安装

      由于最近正在放暑假,所以就自己开始学习python中有关爬虫的技术,因为发现其中需要安装许多库与软件所以就在这里记录一下以避免大家在安装时遇到一些不必要的坑. 一. 相关软件的安装:   1. h ...

  7. Linux下Tomcat项目访问路径修改

    1.去除端口号8080. 首先,进入tomcat的安装目录下的conf目录,我的目录是 /usr/local/apache-tomcat-9.0.20/conf,编辑文件server.xml. 将se ...

  8. 【系统解读】SystemUI篇(一)SystemUI启动流程

    前言 SystemUI是系统启动中第一个用户肉眼可见的应用,其功能包罗万象,比如开机后看到的锁屏界面,充电时充电界面,状态栏,导航栏,多任务栏等,都是与Android手机用户息息相关的功能.所以不止S ...

  9. effective java 3th item2:考虑 builder 模式,当构造器参数过多的时候

    yiaz 读书笔记,翻译于 effective java 3th 英文版,可能有些地方有错误.欢迎指正. 静态工厂方法和构造器都有一个限制:当有许多参数的时候,它们不能很好的扩展. 比如试想下如下场景 ...

  10. fdfsdf

    名称:字符串 来源:2019年陕西省选 题目内容 传送门 洛谷(P5392) 题目描述 给出一个长度为$n$的由小写字母组成的字符串$a$,设其中第$i$个字符为$a_i(1≤i≤n)$. 设删掉第$ ...