基本信息
源码名称:RPA自动化软件源码,可录制操作脚本(财务处理系统)
源码大小:1.73M
文件格式:.zip
开发语言:C#
更新时间:2018-07-01
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 5 元×
微信扫码支付:5 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
可录制操作脚本,并实现 重新操作。流程录制以及自动化模拟操作。
可录制操作脚本,并实现 重新操作。流程录制以及自动化模拟操作。
using System;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using ZMC.Macro;
using ZMC.Forms.Setting;
namespace ZMC
{
public partial class RPA : Form
{
private Point mouseXY;
[DllImport("User32")]
public extern static bool GetCursorPos(ref Point lpPoint);
[DllImport("user32.dll")]
public static extern int GetAsyncKeyState(int vKey);
[DllImport("user32.dll")]
public static extern UInt32 RegisterHotKey(IntPtr hWnd, UInt32 id, UInt32 fsModifiers, UInt32 vk);
[DllImport("user32.dll")]
public static extern UInt32 UnregisterHotKey(IntPtr hWnd, UInt32 id);
//private WebHelper wh;
public RPA()
{
InitializeComponent();
}
//热键处理
protected override void WndProc(ref Message m)
{
if (_recorder.IsRunning && (GetAsyncKeyState(0x00A2) & 0x8000) == 0x8000 && (GetAsyncKeyState(0x0001) & 0x8000) == 0x8000)
{
mouseXY = new Point();
GetCursorPos(ref mouseXY);
_recorder.mouseXY = mouseXY;
controlMenu.Show(mouseXY);
return;
}
int WM_F7 = (int)Keys.F7;
switch (m.Msg)
{
case 0x312:
if (m.WParam.ToInt32() == WM_F7)
{
_player.IsPlaying = !_player.IsPlaying;
}
break;
}
base.WndProc(ref m);
}
private void RPA_Load(object sender, EventArgs e)
{
RegisterHotKey(this.Handle, (int)Keys.F7, 0, (int)Keys.F7);//暂停/继续
}
private void RPA_FormClosing(object sender, FormClosingEventArgs e)
{
UnregisterHotKey(this.Handle, (int)Keys.F7);
}
private const string ConfigurationFilePath = "config.json";
private readonly MacroRecorder _recorder = new MacroRecorder();
private readonly MacroPlayer _player = new MacroPlayer();
private void stopControlButton_Click(object sender, EventArgs e)
{
//停止录制
_recorder.StopRecording();
this.recordControlButton.Visible = true;
this.stopControlButton.Visible = false;
this.buttonState();
//wh.ClearListen();
//wh = null;
}
private void playControlButton_Click(object sender, EventArgs e)
{
//检查是否有宏记录供播放
if (_recorder.CurrentMacro == null || _recorder.CurrentMacro.Events.Length == 0)
{
MessageBox.Show("error_save_nomacro_message","error_save_nomacro_title", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//读取和播放宏
_player.LoadMacro(_recorder.CurrentMacro);
_player.PlayMacroAsync();
_player.currentHandle = this.Handle;
this.pauseControlButton.Visible = true;
this.playControlButton.Visible = false;
this.buttonState();
}
private void clearControlButton_Click(object sender, EventArgs e)
{
//确认是否清理宏.
if (_recorder.CurrentMacro != null && _recorder.CurrentMacro.Events.Length > 0)
{
var result = MessageBox.Show("confirm_clear_message",
"confirm_clear_title", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
_recorder.Clear();
}
}
private void openControlButton_Click(object sender, EventArgs e)
{
//确认是否清理宏.
if (_recorder.CurrentMacro != null && _recorder.CurrentMacro.Events.Length > 0)
{
var result = MessageBox.Show("confirm_open_message","confirm_clear_title", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
_recorder.Clear();
}
}
//浏览打开宏文件
var dialog = new OpenFileDialog
{
};
//读取宏文件到记录
if (dialog.ShowDialog() == DialogResult.OK)
{
var loadedMacro = new Macro.Macro();
loadedMacro.Load(dialog.FileName);
_recorder.LoadMacro(loadedMacro);
}
}
private void saveControlButton_Click(object sender, EventArgs e)
{
//检查是否有宏文件可以保存
if (_recorder.CurrentMacro == null || _recorder.CurrentMacro.Events.Length == 0)
{
MessageBox.Show("error_save_nomacro_message",
"error_save_nomacro_title", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
//将文件保存到指定目录
var dialog = new SaveFileDialog
{
};
//保存文件
if (dialog.ShowDialog() == DialogResult.OK) {
_recorder.CurrentMacro.Save(dialog.FileName);
}
}
private void loopControlButton_Click(object sender, EventArgs e)
{
_player.Pause();
//设置重复播放次数
var dialog = new RepetitionsDialog { Repetitions = _player.Repetitions };
if (dialog.ShowDialog() == DialogResult.OK)
_player.Repetitions = dialog.Repetitions;
}
private void recordControlButton_Click(object sender, EventArgs e)
{
//确认是否已有的宏是否保存
if (_recorder.CurrentMacro != null && _recorder.CurrentMacro.Events.Length > 0)
{
var result = MessageBox.Show("confirm_append_message","confirm_append_title", MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Warning);
if (result == DialogResult.No)
_recorder.Clear();
else if (result == DialogResult.Cancel)
return;
}
//开始录制
_recorder.StartRecording();
_recorder.currentHandle = this.Handle;
this.recordControlButton.Visible = false;
this.stopControlButton.Visible = true;
this.buttonState();
}
private void pauseControlButton_Click(object sender, EventArgs e)
{
_player.Pause();
this.pauseControlButton.Visible = false;
this.playControlButton.Visible = true;
this.buttonState();
}
private void buttonState()
{
if (this.stopControlButton.Visible == true || this.pauseControlButton.Visible == true)
{
this.recordControlButton.Enabled = false;
this.loopControlButton.Enabled = false;
this.openControlButton.Enabled = false;
this.saveControlButton.Enabled = false;
this.playControlButton.Enabled = false;
}
else
{
this.recordControlButton.Enabled = true;
this.playControlButton.Enabled = true;
this.loopControlButton.Enabled = true;
this.openControlButton.Enabled = true;
this.saveControlButton.Enabled = true;
}
}
private void FileDownload(string excel, string vba, string template)
{
_recorder.ExcelConver(excel, vba, template);
}
private void TSM_OpenIE_Click(object sender, EventArgs e)
{
_recorder.OpenIE();
}
private void TSM_OpenSoftWare_Click(object sender, EventArgs e)
{
_recorder.OpenApplication("SOFTWARE");
}
private void TSM_MakeRules_Click(object sender, EventArgs e)
{
_recorder.MakeTimeRule();
}
private void TSM_ClearAD_Click(object sender, EventArgs e)
{
_recorder.ClearAD();
}
private void TSM_CloseMenu_Click(object sender, EventArgs e)
{
_recorder.MenuClose();
}
private void TSM_copy_Click(object sender, EventArgs e)
{
//_recorder.Copy();
}
private void TSM_Test_Click(object sender, EventArgs e)
{
}
private void settingControlButton_Click(object sender, EventArgs e)
{
Setting set = new Setting();
set.ShowDialog();
if (set.DialogResult == DialogResult.OK)
{
}
set.Dispose();
}
private void TSM_BrowerWrite_Click(object sender, EventArgs e)
{
_recorder.BrowerReadWrite();
}
private void TSM_ClearAd_Click_1(object sender, EventArgs e)
{
_recorder.BrowerClearAd();
}
private void TSM_BrowerClick_Click(object sender, EventArgs e)
{
_recorder.BrowerClick();
}
private void TMS_Javascript_Click(object sender, EventArgs e)
{
_recorder.ExecJavascript();
}
private void TSM_SaveVar_Click(object sender, EventArgs e)
{
_recorder.SaveGlobalVar();
}
private void TSM_ReadVar_Click(object sender, EventArgs e)
{
_recorder.ReadGlobalVar(0);
}
}
}