【问题标题】:Run C# Winform Program on Remote Desktop Connection在远程桌面连接上运行 C# Winform 程序
【发布时间】: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


    【解决方案1】:

    您可以在 StartUp 文件夹中放置一个快捷方式。此文件夹的位置可能因操作系统而异,但在 2012 R2 上,用户位于此处:

    C:\Users\[USER]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    

    机器一在这里:

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
    

    【讨论】:

    • 我不敢相信我忘记了启动文件夹;现在好像很明显了,哈哈。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多