Permissions 为Windows服务执行上下文

Permissions 为Windows服务执行上下文,permissions,windows-services,remoting,Permissions,Windows Services,Remoting,我已经用C#编写了一个windows服务,它本质上监听特定端口上的命令,在大多数情况下,它将创建一个新的进程类,并由shell执行上述任务 我主要想用它来发布媒体。例如,我从远程客户端发送了一个名为c:\media.avi->的媒体文件“-launch c:\media.avi”,服务器在进程类中启动它。轻松点 我遇到的问题是,当服务在本地系统上下文下运行时,avi将在其本机应用程序(例如windows media player)中运行,但根本没有声音 在我的用户帐户上下文下尝试相同的过程[pr

我已经用C#编写了一个windows服务,它本质上监听特定端口上的命令,在大多数情况下,它将创建一个新的进程类,并由shell执行上述任务

我主要想用它来发布媒体。例如,我从远程客户端发送了一个名为
c:\media.avi
->的媒体文件“
-launch c:\media.avi
”,服务器在进程类中启动它。轻松点

我遇到的问题是,当服务在本地系统上下文下运行时,avi将在其本机应用程序(例如windows media player)中运行,但根本没有声音

在我的用户帐户上下文下尝试相同的过程[provided UN and PW to service]会运行带有声音的.avi文件,但我根本看不到窗口


有人知道如何让服务在当前登录的用户的上下文下运行,以便我可以获取声音和视频吗?

尝试更改服务设置以启用“允许服务与桌面交互”,或针对您的操作系统版本启用等效设置。但要注意,这是一种不好的做法;服务通常不应该与GUI交互,而且这样做的能力(理论上)将在未来的Windows版本中消失


还有其他选择;描述服务与用户会话交互的更简洁的方式。不过,请考虑应用程序。

尝试更改服务设置,以允许“允许服务与桌面交互”,或为OS版本等效。但要注意,这是一种不好的做法;服务通常不应该与GUI交互,而且这样做的能力(理论上)将在未来的Windows版本中消失


还有其他选择;描述服务与用户会话交互的更简洁的方式。不过,请考虑应用程序。

你正在描述一个应用程序。服务和应用程序之间的根本区别在于服务不在用户会话下运行,也不应该与用户会话交互。如果您的目标是在用户会话中启动一个流程,那么为什么首先选择创建一个服务


服务与会话交互的推荐方式是使用专用的交互应用程序,该应用程序从用户会话运行,并通过IPC协议(命名管道、共享内存、套接字等)与服务交互。您可以让您的服务侦听命令,并在收到命令时将所述命令发送到从连接到服务的感兴趣会话运行的交互式应用程序。

您正在描述一个应用程序。服务和应用程序之间的根本区别在于服务不在用户会话下运行,也不应该与用户会话交互。如果您的目标是在用户会话中启动一个流程,那么为什么首先选择创建一个服务


服务与会话交互的推荐方式是使用专用的交互应用程序,该应用程序从用户会话运行,并通过IPC协议(命名管道、共享内存、套接字等)与服务交互。您可以让您的服务侦听命令,并在收到命令时将所述命令发送到从连接到服务的感兴趣会话运行的交互式应用程序。

当前登录的用户是谁?远程桌面用户是否计数?当前登录的用户是哪个?远程桌面用户算吗?链接文章很好链接文章很好