Да - вы можете искать работающее приложение - но есть множество проблем с этим.
Это ненадежно.
Это ненадежно:)
В каком сеансе отображается это окно?Что если кто-то не вошел в систему - процесс зависает?
Как вы упомянули, развертывание сервера очень проблематично.
К вашему сведению - IНе верьте, что вы можете использовать нижеприведенную коллекцию OpenForms - это стороннее приложение.
Вы можете написать программу для поиска этого окна, но в зависимости от контекста (учетная запись пользователя / сеанс Windows), в котором оно работает, вы можете / не сможете ничего с ним сделать.Если он находится в том же процессе, что и учетная запись aspnet, я не могу себе представить, что он может показать окно на вашем рабочем столе, поэтому я представляю, что есть какой-то другой компонент / учетная запись, под которой работает это стороннее приложение.
IsЕсть ли способ получить какой-либо веб-доступ к этому API?Решением этой проблемы будет взлом всех возможных попыток использовать API для Findwindow или перечисление окон определенного процесса.
Таким образом, в зависимости от учетной записи / сеанса, под которым он выполняется, это «возможно» возможно, но вполне возможно для целого ряда проблем.
Не видя этой точной среды, хотя трудно получить полное представление о том, что определенно происходит, чтобы предоставить другую альтернативу, но если у вас нет контроля над этой частью и ее настольным приложением, которое требует интеграции сИнтернет, это может быть сложно.
Другой вариант может состоять в том, чтобы (предупреждение о взломе - это полный риск), чтобы процесс выполнялся как само размещенное приложение WCF за пределами IIS, которое получает запрос, а затем пытается найти это окно и отправить соответствующееКоманды для этого с помощью Windows API для ex.SendMessage для щелчков мышью
см. http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesvbcs/thread/63a9faac-5898-4b10-8a2c-4ebe1aab948e