У меня есть приложение, которое работает в скрытом режиме. В новой версии мне нужно обновить базу данных, поэтому мне нужно показать некоторую форму, чтобы получить некоторые данные от пользователя для обновления. Я использую метод Form.ShowDialog
, но произошли ошибки. Говорят, по ошибке, чтоForm.ShowDialog в скрытом приложении
«Отображение модального диалогового окна или форме, когда приложение не работает в режиме UserInteractive не является законной операция. Укажите ServiceNotification или стиль DefaultDesktopOnly для отображения уведомления от сервисное приложение ".
Я думаю, что мне нужно показать форму другим способом, но я не знаю, как это сделать.
Он работает нормально, когда я запускаю это, я думаю, я должен назвать его сервером вручную. Но когда другой сервис начинает его код:
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(path);
startInfo.WorkingDirectory = ServerModel.ServerInfo.ServerDir;
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
System.Diagnostics.Process.Start(startInfo);
Эта ошибка возникает.
Ваш код вызывает или пытается показать диалог где-нибудь (средний уровень, сервер, веб-сервис, служба Windows и т. Д.), Где он не может отобразить это диалоговое окно или, вероятно, не знает, что такое Windows Forms. – skolte
Я редактирую свой вопрос, чтобы уточнить. – aleshko
Что ** точно ** вы подразумеваете под «скрытым режимом»? –