我有一个名为 Southware 的会计软件包。它安装在 Windows 2003r2 服务器上。每个用户使用 RDC(远程桌面连接)从他们的工作站(Win7 和 WinXP)连接到服务器并启动 Southware 会话。我们通过在每个工作站上使用 RDC 的“程序”选项卡下的“程序路径和文件名”来启动每个会话。用户完成后,他们退出 Southware,RDC 窗口无缝关闭。
我们旧的会计软件包 (Tinyterm) 的客户端具有添加键盘热键的功能。用户喜欢它来添加常见订购产品的长采购订单描述。不幸的是,Windows 或 RDC 中都没有这样的功能。
我研究了一个名为 AutoHotKey 的开源实用程序。我能够在服务器上创建一个批处理脚本,从程序选项卡启动 Southware 和 AutoHotKey,一切运行良好。唯一的问题是,用户退出 Southware 后,RDC 窗口不再关闭。我必须在服务器上以管理员身份手动运行任务管理器,并为特定用户终止 AutoHotKey 会话。不幸的是,这是不可接受的。
有没有办法,不用编写脚本,而是在“程序”选项卡下的“程序路径和文件名”中添加两个程序?是否可以将 AutoHotKey 或 AutoIt 等程序作为服务稳定运行?是否可以使用 RDC 执行退出脚本?我能否在 Southware 进程结束后自动结束 AutoHotKey 进程?我对整个过程的看法是否完全错误?有没有更好的方法?
提前致谢。
答案1
你可以使用这个:
http://www.autohotkey.com/board/topic/31692-run-program-that-monitors-if-process-exit/
监视进程然后运行某些操作来关闭 autohotkey
答案2
虽然我觉得自己没能立即看到这一点有点愚蠢,但这个问题有一个更简单的答案。在本地工作站而不是远程桌面会话上加载 AutoHotKey 和脚本。它们将在终端窗口中正常工作。