Как открыть другой графический интерфейс приложения с помощью службы windows
Я пытаюсь открыть приложение(с его графическим интерфейсом) через службу windows. Он не создает никаких исключений или ошибок. Он не открывает приложение. Когда я выполнил тот же код с приложением windows Forms, приложение открывается. Почему служба windows не открывает никаких других приложений ?
В своем коде я попытался проверить, установлено ли приложение "AnyDesk" или нет. Если он установлен, я пытаюсь его открыть. Но он не открывает приложение.
Когда я проверил "диспетчер задач", он отображается в списке приложений "фоновый процесс". Но пользовательский интерфейс не открывается. Как я могу заставить его открыться ?
Мой код выглядит следующим образом :
Что я уже пробовал:
protected override void OnStart(string[] args) { try { bool isinstalled = checkInstalled("AnyDesk"); if (isinstalled) { Process.Start(@"C:\Program Files (x86)\AnyDesk\AnyDesk.exe"); } } catch (Exception ex) { this.EventLog.WriteEntry(ex.Message, EventLogEntryType.Information); } } public static bool checkInstalled(string c_name) { string displayName; string registryKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; RegistryKey key = Registry.LocalMachine.OpenSubKey(registryKey); if (key != null) { foreach (RegistryKey subkey in key.GetSubKeyNames().Select(keyName => key.OpenSubKey(keyName))) { displayName = subkey.GetValue("DisplayName") as string; if (displayName != null && displayName.Contains(c_name)) { return true; } } key.Close(); } registryKey = @"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"; key = Registry.LocalMachine.OpenSubKey(registryKey); if (key != null) { foreach (RegistryKey subkey in key.GetSubKeyNames().Select(keyName => key.OpenSubKey(keyName))) { displayName = subkey.GetValue("DisplayName") as string; if (displayName != null && displayName.Contains(c_name)) { return true; } } key.Close(); } return false; }