2016-04-28 115 views
2

我的用户必须使用在控制台中创建的一个应用程序。它完全复制和粘贴,但需要很长时间才能完成每个过程。C#应用程序在控制台中使用另一个应用程序

我的团队为了节省时间创建了一个应用程序,它可以通过机器人来实现这一点。它大概在15分钟内完成整个工作,大约在5小时之前。

问题是,用户无法在机器人运行时使用机器,所以即使用户丢失的时间较少,他仍然会失去时间。

所以我想知道,有没有办法创建一个应用程序,从txt读取数据并写入控制台(它只是需要)在后台?没有让用户停止使用机器做其他stuf?

如果有办法,有人可以解释如何实现这一目标吗?

@ EDIT 用户不能在机器人工作时使用机器,因为它被编程为在屏幕的某些部分自动点击(如打开程序)然后写入,所以如果用户移动光标或写一些东西,之后的所有内容都会出错,所以我想创建一个程序,将背景中的东西写下来,在这种情况下用户可以使用机器。

+0

类似这样的:http://stackoverflow.com/questions/21848271/redirecting-standard-input-of-console-application? – DaveShaw

+4

为什么用户不能使用机器? (帮助我们弄清楚如何解决你遇到的问题) – Caramiriel

+0

用户不能使用,因为这样做的程序是一个机器人,所以它开始使用机器,就好像用户正在这样做,但很多速度更快,所以他不能使用鼠标,也不能更换屏幕,因为如果是这样,程序将会正常停止工作(它不会在正确的位置点击,也不会正确写入数据)。这个解释更好吗? –

回答

1

如果您的机器人解决方案需要将机器的鼠标指针和键盘控制为“虚假”用户输入,那么如果您仔细考虑,则无法做到您所要求的。操作系统只能读取一个鼠标光标和键盘输入,如果用户应该通过使用机器来干扰,而机器人正在工作,我认为它会失败,因为机器人可能依赖于“移动x,移动y ,点击像AutoIT和AutoHotkey这样的脚本类型。

但是,我能想到的解决方法是在实际机器上设置虚拟机环境,在该机器上运行控制台程序和机器人。然后,虚拟机将拥有自己的输入链,并且可以在用户同时使用主机操作系统时保留自己的输入链。

这不是很优雅,但它会工作。它也有一些缺点:

您将需要一个许可证的虚拟化操作系统 您将需要复制的虚拟化设置 工具链,用户必须保持看见或VM 虚拟机必须配置为干扰根据需要访问共享数据(共享文件夹)

相关问题