COM 포트의 입력을 기반으로 두 개의 타사 응용 프로그램간에 전환 할 수 있어야합니다. 즉, 장치에서 Command1
을 수신하면 App1을 활성 (맨 위) 창으로 만들고 장치에서 Command2
을 받으면 App2를 활성 창으로 만듭니다. 왜 내가 이걸하고 싶어? 이 응용 프로그램은 셀프 서비스 스테이션에서 실행되며 모션 센서의 입력을 모니터링합니다. 그래서 어느 누구도 방송국 앞에서 App2 (예 : 광고)를 보여줄 필요가 없으며 누군가 앞에 서 있으면 App1 (예 : 메인 애플리케이션)을 표시해야합니다.Windows에서 활성 창을 변경하는 방법은 무엇입니까?
백그라운드에서 실행되는 응용 프로그램을 생각하고 COM 포트의 입력을 수신하고 이에 따라 활성 창을 전환합니다. 그래서 문제는 어떻게 .NET을 사용하여 활성 창을 바꿀 수 있습니까? OS는 Windows XP Pro SP2이지만 Windows 7에서도 작동하는 것이 좋습니다.
참고 : 사용자 데스크톱과 상호 작용하는 간단한 서비스와 같은 것은 아닙니다. http://stackoverflow.com/questions/267838/how-can-a-windows-service-execute-a-gui-application –
Windows 서비스는 Windows Vista를 시작으로 사용자의 데스크톱과 상호 작용할 수 없습니다. 어쨌든 서비스가 아니어야합니다. 백그라운드 응용 프로그램 (즉, 양식을 표시하지 않는 표준 양식 응용 프로그램) 만 작성하면됩니다. 또한 활성 창을 변경하면 근본적으로 문제가 발생합니다. 이는 사용자가 할 수 있어야하는 것이지 응용 프로그램이 할 수없는 것입니다. Windows는 모든 단계에서 여러분과 싸우며 사용자는 그리 행복하지 않을 것입니다. –
질문을 "background app"으로 변경했습니다. 감사합니다. _why_에 대한 추가 정보도 추가했습니다. – MarioVW