调用大漠插件发送QQ和微信消息 C#版
找图,找色,识字,找字,窗口,按鼠标,按键盘
0、注册dm.dll;
regsvr32 xxx\dm.dll
1、添加com引用;

2、dmsoft各种调用;
原理:
查找窗口hwnd→窗口激活→添加消息到文本框→回车→窗口取消激活
截图:

代码:
class Form1 : Form
{
public Form1()
{
var dm = new dmsoft();
Console.WriteLine($"大漠插件{dm.Ver()}");
Console.WriteLine($"{Application.ProductName}-{Application.ProductVersion}"); ClientSize = new Size(, );
MaximizeBox = false;
FormBorderStyle = FormBorderStyle.FixedSingle; var listView1 = new ListView() {Name = "lstView1", Location = new Point(, ), Size = new Size(, this.ClientRectangle.Height), Columns = {"句柄", "标题", "类名"}, BackColor = Color.Cornsilk, FullRowSelect = true, GridLines = true, View = View.Details, CheckBoxes = true, MultiSelect = true,};
var btnReload = new Button() {Name = "btnReload", Text = "刷新(&R)", Location = new Point(, ), AutoSize = true};
var btnSend = new Button() {Name = "btnSend", Text = "发送(&S)", Location = new Point(, ), AutoSize = true};
var txtMessage = new TextBox() {Name = "txtMessage", Text = "hello world!", Location = new Point(, ), Size = new Size(this.Width - , ClientRectangle.Height - ), Multiline = true};
this.Controls.AddRange(new Control[] {listView1, btnReload, btnSend, txtMessage});
this.Text = $"{ProductName}-{ProductVersion}"; btnReload.Click += (sender, args) =>
{
var hwnds = new List<int>();
var classNames = "TXGuiFoundation,ChatWnd".Split(',');
foreach (var className in classNames)
{
var win = dm.EnumWindow(, "", className, );
hwnds.AddRange(win.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => Convert.ToInt32(x)));
} listView1.BeginUpdate();
listView1.Items.Clear();
foreach (var hwnd in hwnds)
{
listView1.Items.Add(hwnd.ToString()).SubItems
.AddRange(new string[] {dm.GetWindowTitle(hwnd), dm.GetWindowClass(hwnd)});
} listView1.EndUpdate();
};
btnSend.Click += (sender, args) =>
{
var msg = txtMessage.Text;
foreach (ListViewItem item in listView1.CheckedItems)
{
var hwnd = Convert.ToInt32(item.Text);
Console.WriteLine($"SendMessage To {item.SubItems[0].Text}");
dm.BindWindowEx(hwnd, "gdi", "windows", "windows", "", );
dm.SetWindowState(hwnd, );
dm.SetWindowState(hwnd, );
dm.SendString2(hwnd, msg);
dm.KeyDown();
dm.KeyUp();
dm.SetWindowState(hwnd, );
dm.SetWindowState(hwnd, );
dm.UnBindWindow();
}
};
this.Load += (sender, args) => { btnReload.PerformClick(); };
}
}
调用大漠插件发送QQ和微信消息 C#版的更多相关文章
- C#调用大漠插件,发送QQ和微信消息
大漠插件就不过多介绍了,不知道的请查下百度.主要是讲解C#怎么调用大漠插件. 大漠插件提供了COM版本,C#直接点击引用,添加即可.然后注册下大漠插件到系统文件夹,注册代码如下: static str ...
- C#调用大漠插件的方法和实例
大漠插件是一个很不错的东西,在按键精灵和易语言里面用得很多,可以后台找图找字,写游戏自动脚本用得特别多.前面写一个微信的自动脚本,查了一些资料,易语言不太熟悉,按键精灵功能上可能不好实现,就找了些资料 ...
- C#调用大漠插件
大漠插件是一个很不错的东西,在按键精灵和易语言里面用得很多,可以后台找图找字,写游戏自动脚本用得特别多.前面写一个微信的自动脚本,查了一些资料,易语言不太熟悉,按键精灵功能上可能不好实现,就找了些资料 ...
- python调用大漠插件教程03窗口绑定实例
怎样利用注册好的大漠对象来绑定窗口? 直接上代码,根据代码分析 from win32com.client import Dispatch import os from win32gui import ...
- CI框架使用PHPmail插件发送QQ邮件:
有助请顶,不好请评.0:33 2016/3/12CI框架使用PHPmail插件发送QQ邮件:发送成功,不过修改了主机参数,还包含了一个phpmail中的一个另外的文件,详见下方:参见:http://c ...
- Delphi调用大漠插件示例
Delphi XE2 版本调用大漠插件方法:打开Component->Import Component->默认Import a Type Library,点击Next->找到Dm.d ...
- Python调用大漠插件
Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.client dm = win32com.client.Dispatch( ...
- python调用大漠插件教程02大漠插件绑定测试工具
什么是大漠插件绑定测试工具? 这是大漠插件为了方便使用者调试绑定窗口的模式而设计的,因为有些程序不会接受一般的鼠键事件的响应模式,每个程序所需要的响应模式都不尽相同,所以这个工具可以使我们在绑定窗口时 ...
- python调用大漠插件教程01注册大漠
使用大漠有两种方法,一种是直接调用特殊的dll实现不注册就能使(本人不会),另一种则是注册后使用. 如何用python注册大漠? from win32com.client import Dispatc ...
随机推荐
- [算法]实现strStr()
题目 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在 ...
- C#中类的修饰符
Q&A 项目=程序集=assembly 1,Q:类的修饰符有哪些? A: 有 new.public.protect.internal.private.abstract.sealed.st ...
- C# - VS2019 DataGridView导出到Excel的三种方法
//原文出处:http://www.yongfa365.com/Item/DataGridViewToExcel.html 1 #region DataGridView数据显示到Excel /// & ...
- canvas之事件交互效果isPointPath
isPointInPath() 用来检测某个点是否在当前路径中,常用来做点击交互等. 需要注意的是,每次执行一次beginPath方法,检测路径就变成这次beginPath之后绘制的路径,原来的路径不 ...
- Cesium专栏-空间分析之坡度分析(附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- UIView设置阴影
UI设计师有时候希望我们的产品比较酷. 阴影是他们喜欢的效果之一. 怎么设置阴影呢? 1.设置一个四边都相同的阴影 UIImageView *testImgView = [[UIImageView a ...
- html-css___table属性(设置细线边框)
border-collapse 属性设置表格的边框是否被合并为一个单一的边框 //设置table实线边框 table,td{ /*边框合并*/ border-collapse: collapse; b ...
- JUnit与MSTest
执行test类的每个方法时,需要做一些初始化.比如初始化applicationcontext.JUnit使用@Before注解. import org.junit.Before; import org ...
- linux watch 命令使用;进行循环执行程序,并显示结果;
watch 能间歇地执行程序,并将输出结果以全屏的方式显示,默认时2s执行一次: watch -n 5 ping -c 1 www.baidu.com # 进行循环5秒钟,发送一次ping包: 使用范 ...
- 从公司实际沟通中-得知bug的描述与为什么要bug留痕
从公司实际沟通中-得知bug的描述与为什么要bug留痕 最近在做的一个实际项目.下图为我们的聊天记录,仔细看图,领悟: 从中预期可以学习到的: 1)实际公司--Bug描述的另一个方法: 2)实际公司- ...