Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Windows服务问题_C#_Service - Fatal编程技术网

C#Windows服务问题

C#Windows服务问题,c#,service,C#,Service,我在Windows服务模板的帮助下从Microsoft Visual Studio IDE 2010 Ultimate创建了一个基本的Windows服务;我将帐户类型设置为LocalSystem,并对其进行测试,然后将其设置为LocalService并进行测试。在双方我都有同样的问题。我正在尝试使用下一个变量检查我的桌面文件夹(C:\users\charqus\Desktop): private readonly string folderParent = Environment.GetFold

我在Windows服务模板的帮助下从Microsoft Visual Studio IDE 2010 Ultimate创建了一个基本的Windows服务;我将帐户类型设置为LocalSystem,并对其进行测试,然后将其设置为LocalService并进行测试。在双方我都有同样的问题。我正在尝试使用下一个变量检查我的桌面文件夹(C:\users\charqus\Desktop):

private readonly string folderParent = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
我已将变量folderParent打印到EntryLog应用程序,结果如下: C:\Windows\system32\config\systemprofile\Desktop

我已经访问了该路径,但在其中找不到任何桌面文件夹。如果我尝试使用我的服务列出桌面上的所有文件(从该路径),他不会列出任何内容


谢谢

该服务在Windows本地系统帐户下运行,如您所知,将访问系统用户的(不存在的)桌面


服务用于不依赖于用户的后台进程。如果您的应用程序正在与用户的桌面交互,它应该是一个普通的交互应用程序,但可能是一个不可见的应用程序,它只在系统托盘中显示一个图标。通过将应用程序添加到所有用户的启动文件夹,将其设置为登录时自动启动。

您已经知道,服务在服务帐户下运行。这些帐户有自己的桌面文件夹。而且可能有多个用户登录到一台机器,那么它应该访问谁的桌面呢?也许可以告诉我们你要解决的总体问题。它最终可能会分裂成两个程序——一个服务部件和一个单独的程序,由每个登录到机器的用户运行。请看这里。Windows服务未绑定到任何用户帐户或当前登录帐户。谢谢各位的回答,但您有什么建议?停止使用服务并使C#不可见的应用程序在后台工作?那能解决我的问题吗?或者有更简单的解决方案吗?那太好了,但我也想把它从系统托盘中隐藏起来,可能吗?在托盘中放置图标是可选的。如果需要,可以完全不可见地运行它。