我们的任务是在C#中创建一个服务,从当前用户桌面创建一个单独的桌面。该服务将以定时间隔来回切换,执行不同的任务。我们已经获得了使用window station创建新桌面的服务,但其中一项任务是以不同于创建桌面的用户身份运行桌面(现在拥有它)。我们创建了一个Windows用户,程序使用其令牌访问桌面。
现在这里是棘手的一点。我们需要使用ACE修改 new 桌面ACL,并指出不允许新用户在该桌面上创建进程,即拒绝所有进程。我一直在研究MSDN上的参考,似乎要走的路是用 GetSecurityInfo()获取窗口站SACL,修改它,然后用 GetSecurityInfo再次设置它( )。
然而,这是我所得到的,并且说实话,我不知道如果这是正确的方法。这对我来说似乎是对的。我的问题是这些: