Настройка Windows Service – доступ к рабочему столу

Для этого сервис должен быть запущен он локальный учетной записи, и в инсталлере нужно прописать вот так:

[RunInstaller(true)]
    public partial class ProjectInstaller : System.Configuration.Install.Installer
    {
        public ProjectInstaller()
        {
            this.InitializeComponent();
        }

        protected override void OnCommitted(IDictionary savedState)
        {
            base.OnCommitted(savedState);

            using (RegistryKey ckey =
                Registry.LocalMachine.OpenSubKey(string.Format(@"SYSTEM\CurrentControlSet\Services\{0}", "YOURSERVICENAME"), true))
            {
                if (ckey != null && ckey.GetValue("Type") != null)
                {
                    ckey.SetValue("Type", (((int)ckey.GetValue("Type")) | 256));
                }
            }
        }
    }

Ссылка http://stackoverflow.com/questions/1945529/how-can-i-configure-my-windows-service-in-the-code-to-access-the-desktop

Add comment

Loading