大漠插件是一个很不错的东西,在按键精灵和易语言里面用得很多,可以后台找图找字,写游戏自动脚本用得特别多。前面写一个微信的自动脚本,查了一些资料,易语言不太熟悉,按键精灵功能上可能不好实现,就找了些资料,大漠插件是可以用在C#里的调用的。这里分享下方法。
一、引用Ddm.dll
.NET里面可以直接引用,引用方法,添加引用--COM--找到DM,双击即可
二、注册大漠插件
//这是注册DLL到系统的一个方法,注册大漠则调用 AutoRegCom("regsvr32 -s dm.dll");
static string AutoRegCom(string strCmd)
{
string rInfo;
try
{
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("cmd.exe");
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.CreateNoWindow = true;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcessStartInfo.Arguments = "/c " + strCmd;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
rInfo = myStreamReader.ReadToEnd();
myProcess.Close();
rInfo = strCmd + "
" + rInfo;
return rInfo;
}
catch (Exception ex)
{
return ex.Message;
}
}
三、实例化大漠对象
Dm.dmsoft dm = new Dm.dmsoft();
四、调用大漠的方法
直接通过实例化的对象dm调用,如dm.MoveTo(30, 30);
完整代码: 窗体上放一个按钮,点击按钮,调用大漠插件将鼠标移动到(30,30)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.IO;
namespace Player
{
public partial class Player : Form
{
public Player()
{
InitializeComponent();
AutoRegCom("regsvr32 -s dm.dll");
}
private void button1_Click(object sender, EventArgs e)
{
Dm.dmsoft dm = new Dm.dmsoft();
dm.MoveTo(30, 30);
}
static string AutoRegCom(string strCmd)
{
string rInfo;
try
{
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("cmd.exe");
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.CreateNoWindow = true;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcessStartInfo.Arguments = "/c " + strCmd;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
rInfo = myStreamReader.ReadToEnd();
myProcess.Close();
rInfo = strCmd + "
" + rInfo;
return rInfo;
}
catch (Exception ex)
{
return ex.Message;
}
}
}
}