我想为我要问的问题道歉,问题是否不够明确和详细。
我向在线客户端提供了一个程序(developed using VB.Net
),它是一个自动化程序,模拟Windows操作系统上的用户击键(使用SendKeys
)。
一切顺利,但他说,当他在VPS
上运行程序时,程序在关闭VPS时关闭,尽管其他程序仍在运行。
我希望有人能帮助我向我解释这个问题背后的原因,以及是否有任何解决方法。问题是,由于他是在线客户,我无法访问客户端的VPS。
提前致谢。
更新
我可以访问客户端的VPS,程序在关闭VPS连接时抛出异常,异常消息:System.Windows.Forms.MouseEventArgs
答案 0 :(得分:1)
这是由于与Windows VPS的远程桌面连接。当用户注销远程连接时,.EXE / Application将暂停,并且将不再运行。要解决此问题,您可以执行以下操作之一:
从Visual Studio中的“新建项目”按钮创建一个新的Windows服务项目,然后将您的应用程序编程为服务。 Linked Here
使用VPS环境中的服务管理窗口并添加程序的可执行文件。它将作为服务开始运行(具有可见窗口和编码时的所有内容),并将在用户注销时运行。 Linked Here
使用任务管理器安排将在某些条件下运行可执行文件的任务(如系统启动)。 Linked Here
如果它是由多个客户端运行的东西,我会使用选项1,因为它提供了可移植性和易于部署。尽管如此,它很可能需要一个或多个重构器。
如果它是一次性使用的应用程序,并且不会被其他任何人使用,但是它将在VPS上持续存在,那么我将使用选项2.
如果您需要进一步控制脚本运行的条件,我只会使用选项3。
希望这会有所帮助..