大漠插件:3.1233

找图,找色,识字,找字,窗口,按鼠标,按键盘

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#版的更多相关文章

  1. C#调用大漠插件,发送QQ和微信消息

    大漠插件就不过多介绍了,不知道的请查下百度.主要是讲解C#怎么调用大漠插件. 大漠插件提供了COM版本,C#直接点击引用,添加即可.然后注册下大漠插件到系统文件夹,注册代码如下: static str ...

  2. C#调用大漠插件的方法和实例

    大漠插件是一个很不错的东西,在按键精灵和易语言里面用得很多,可以后台找图找字,写游戏自动脚本用得特别多.前面写一个微信的自动脚本,查了一些资料,易语言不太熟悉,按键精灵功能上可能不好实现,就找了些资料 ...

  3. C#调用大漠插件

    大漠插件是一个很不错的东西,在按键精灵和易语言里面用得很多,可以后台找图找字,写游戏自动脚本用得特别多.前面写一个微信的自动脚本,查了一些资料,易语言不太熟悉,按键精灵功能上可能不好实现,就找了些资料 ...

  4. python调用大漠插件教程03窗口绑定实例

    怎样利用注册好的大漠对象来绑定窗口? 直接上代码,根据代码分析 from win32com.client import Dispatch import os from win32gui import ...

  5. CI框架使用PHPmail插件发送QQ邮件:

    有助请顶,不好请评.0:33 2016/3/12CI框架使用PHPmail插件发送QQ邮件:发送成功,不过修改了主机参数,还包含了一个phpmail中的一个另外的文件,详见下方:参见:http://c ...

  6. Delphi调用大漠插件示例

    Delphi XE2 版本调用大漠插件方法:打开Component->Import Component->默认Import a Type Library,点击Next->找到Dm.d ...

  7. Python调用大漠插件

    Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.client dm = win32com.client.Dispatch( ...

  8. python调用大漠插件教程02大漠插件绑定测试工具

    什么是大漠插件绑定测试工具? 这是大漠插件为了方便使用者调试绑定窗口的模式而设计的,因为有些程序不会接受一般的鼠键事件的响应模式,每个程序所需要的响应模式都不尽相同,所以这个工具可以使我们在绑定窗口时 ...

  9. python调用大漠插件教程01注册大漠

    使用大漠有两种方法,一种是直接调用特殊的dll实现不注册就能使(本人不会),另一种则是注册后使用. 如何用python注册大漠? from win32com.client import Dispatc ...

随机推荐

  1. #w30 2019年大前端技术周刊

    本周是2019年第30周 会议 2019年ArchSummit全球架构师峰会 2019年7月在深圳举行了ArchSummit全球架构师峰会,里面有不少关于大前端的主题可以关注. 从0到1,移动政务应用 ...

  2. 干货:.net core实现读取appsettings.json配置文件(建议收藏)

    看好多人不懂在.NET CORE中如何读取配置文件,我这里分两篇,这一篇介绍怎样通过appsettings.json配置读取文件信息.这里我会教大家两种方式: 第一种直接放到通用类库,那里想调往那调. ...

  3. Ecplise设置全局编码为UTF-8

    简介 Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP.Windows 2000简体中文)的缺省编码是GB18030,Windo ...

  4. Abp小知识-如何全局设置DontWrapResult属性

    demo地址 GitHub相关demo地址:https://github.com/PuzzledAlien/DotNetCore_Practice/tree/master/ABP.Demo/WebAp ...

  5. Thymeleaf常用语法:HTML属性设置

    使用Thymeleaf的属性来设置HTML属性.(1)使用th:attr属性可以修改原来HTML节点的属性:(2)th:attr属性可以同时设置多个属性:(3)每一个HTML属性都有对应的Thymel ...

  6. How To Restore Rman Backups On A Different Node When The Directory Structures Are Different (Doc ID 419137.1)

    How To Restore Rman Backups On A Different Node When The Directory Structures Are Different (Doc ID ...

  7. linux kernel下输入输出console如何实现【转】

    转自:https://blog.csdn.net/skyflying2012/article/details/41078349 最近工作在调试usb虚拟串口,让其作为kernel启动的调试串口,以及u ...

  8. 文件操作NIO

    在丑陋的 Java I/O 编程方式诞生多年以后,Java终于简化了文件读写的基本操作. 两个基本组件 文件或者目录的路径: 文件本身. 这块基本都是些记忆性的东西,没什么过多的需要写的地方,用的时候 ...

  9. request请求参数与http请求过程

    request请求参数

  10. wbr 标签实现连续英文字符的精准换行你知道吗?

    1.一般情况下的换行: word-break:break-all或者word-wrap:break-word <p>大家<wbr>想要<wbr>实现<wbr& ...