基本信息
源码名称: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); } } }