【发布时间】:2015-06-14 05:15:47
【问题描述】:
短版:如何向远程登录 Windows Server 环境的用户显示我的 Winforms 应用程序?
背景:我正在将 C# Winforms 应用程序部署到多个不同的 Windows 服务器,一些是 2008 年和一些 2012 年。当用户通过远程桌面登录到这些服务器之一时,我想要表单立即显示在用户的屏幕上。程序本身是一个基本形式,它写入应用程序部分的 Windows 事件日志。
目前有效:当用户远程登录时,我已成功让程序在 Windows Server 2008 机器上启动。我通过创建一个由用户登录触发的计划任务来做到这一点。这是执行此操作的批处理文件:
SCHTASKS /Create /TN "MyLogonTask" /TR "C:\Path\To\Program.exe" /SC ONLOGON /IT
问题出在:当创建任务的用户以外的用户登录时,表单不会显示给他们。更具体地说,任务确实开始了,但表单只显示创建任务的用户,而不是实际登录的用户。
我做了什么:我尝试更改任务内部的设置,以及在有和没有管理员权限的情况下启动程序。此外,我确实尝试使用不同的用户删除和重新创建任务,并且每次表单只为创建计划任务的用户启动。到目前为止,我还没有让程序显示给正确的用户。
【问题讨论】:
标签: c# windows winforms scheduled-tasks windows-server-2008