Мне нужно иметь возможность переключаться между двумя сторонними приложениями на основе ввода с COM-порта, то есть когда я получаю Command1
с устройства, сделайте App1 активным (верхним) окном и когда я получаю Command2
с устройства , сделайте App2 активным окном. Почему я хочу это сделать? Это приложение будет работать на станции самообслуживания, и я буду следить за входом датчика движения; поэтому, когда никто не находится перед станцией, мне нужно показать App2 (например, рекламу), а когда кто-то стоит впереди, мне нужно показать App1 (например, основное приложение).Как изменить активное окно на Windows?
Я думаю о приложении, которое работает в фоновом режиме и прослушивает вход на COM-порт и соответствующим образом переключает активное окно. Итак, вопрос в том, как изменить активное окно с помощью .NET? ОС будет Windows XP Pro SP2, но было бы лучше, если она будет работать и на Windows 7.
FYI нет такой вещи, как простой сервис, который взаимодействует с рабочим столом пользователя в 7; http://stackoverflow.com/questions/267838/how-can-a-windows-service-execute-a-gui-application –
Службы Windows не могут взаимодействовать с рабочим столом пользователя, начиная с Windows Vista. В любом случае это не должно быть сервисом, просто создайте фоновое приложение (т. Е. Приложение стандартных форм, которое не показывает никаких форм). Кроме того, изменение активного окна принципиально нарушено. Это то, что должен делать только пользователь, а не приложение. Windows будет бороться с вами на каждом шагу, и ваши пользователи не будут очень рады. –
Изменил вопрос в «background app», спасибо ... также добавил дополнительную информацию о _why_ Я хочу это сделать – MarioVW