QWidget::activateWindow()
상태의 Qt는 문서 : Windows에서활성 창
, 응용 프로그램이 현재 액티브 한 하지 않을 때이 를 호출하는 경우 다음은하지 않습니다 을 활성 창으로 만드십시오. 작업 표시 줄 항목의 색이 으로 바뀌면 창이 어떤 식 으로든 으로 변경되었음을 나타냅니다. 이것은 Microsoft 이 응용 프로그램에 을 허용하지 않기 때문에 사용자가 현재 다른 응용 프로그램에서 수행중인 작업을 방해하기 때문입니다.
그러나 Skype는이 규칙을 무시하는 것으로 보입니다. Skype가 실행 중이지만 활성화 된 응용 프로그램이 아닌 경우 시작 메뉴에서 시작할 수 있으며 기존 인스턴스를 포 그라운드로 가져 와서 활성화하고 입력 포커스를 가져옵니다.
어떻게하면 이 가능합니까?
"자신의 대답을 수락하지 마십시오"라고 말하는 사람에게 질문하십시오 : FAQ를 읽으십시오 :) – sje397
'SetForeground Window()'QtSingleApplication :: activateWindow() 함수 내에서? –
아니요, QtSingleApplication을 수정할 필요가 없습니다. 'QtSingleApplication :: activateWindow()'는 Windows 플랫폼에서 내부적으로'SetForegroundWindow()'를 호출하는'QWidget :: activateWindow()'를 호출합니다. 그래서 이미 끝났습니다. :) Qt 소스의'src \ gui \ kernel \ qwidget_win.cpp : 933'을 보라. –