大漠插件: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. el-dialog模态窗点击空白不消失

    通过查阅ElementUI的官方文档,可以发现Dialog对话框组件提供了一个close-on-click-modal属性来设置el-dialog模态窗点击空白不消失. <el-dialog : ...

  2. WebShell代码分析溯源(三)

    WebShell代码分析溯源(三) 一.一句话变形马样本 <?php $g = array('','s');$gg = a.$g[1].ser.chr('116');@$gg($_POST[ge ...

  3. Response to 16岁的篮球投手

    关于篮球,我想写的很多,被偏爱的运动,被赞美的运动,带着青春的万丈光泽. 我们对易建联的苛刻是因为想当然,对大侄子的溺爱是因为急功近利.过于娱乐化和商业化,让一项竞技体育变得像是豆瓣八组的吃瓜盛宴. ...

  4. (三十六)c#Winform自定义控件-步骤控件-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  5. C#属性方法 构造函数(不知道自己理解的对不对)

    using System; namespace test { class Program { static void Main(string[] args) { Cat kitty = new Cat ...

  6. Prism_简介(1)

    Prism 6 Introduction介绍 Initializing初始化 Managing-Dependencies管理依赖 Modules模块 Implementing-MVVM实时MVVM A ...

  7. git找回丢失的代码

    多人开发时找回丢失的代码 1.先保证所有分支的代码都已经提交并拉取到最新状态. 2.最重要的是需要找到最近一条自己代码还存在的记录,然后复制到最近的更早一条的提交记录的id,比如e36e9e76da1 ...

  8. JavaWeb开发——软件国际化(动态元素国际化)

    软件国际化的第二个部分,就是动态元素国际化. 数值,货币,时间,日期等数据由于可能在程序运行时动态产生,所以无法像文字一样简单地将它们从应用程序中分离出来,而是需要特殊处理.Java 中提供了解决这些 ...

  9. QJsonObject与QString转化封装

    经常使用QT的同学可能会发现有时候需要json字符串和json对象之间的转换,今天他来了,直接上代码: QString InfoBase::JsonToString(const QJsonObject ...

  10. [20191106]善用column格式化输出.txt

    [20191106]善用column格式化输出.txt # man columnDESCRIPTION     The column utility formats its input into mu ...