2014-12-04 3 views
-3

저는 Windows 이벤트, 특히 멀티미디어 (비디오 재생, 오디오 및 이미지 재생)와 관련된 이벤트를 감지하는 응용 프로그램을 작성하려고합니다.Qt에서 Windows 이벤트를 감지하는 방법은 무엇입니까?

예를 들어 Windows Media Player가 열려 있으면 관련 이벤트가 감지되어야합니다.

+0

미디어 플레이어의 경우 사용할 수있는 이벤트는 [여기] (http://msdn.microsoft.com/en-us/library/aa912134.aspx)이지만 FIO (및 AFAIK)는 귀하의 일반적인 지원이 없다고 말했습니다. 필요합니다. 그런데, 승리 이벤트를 처리하는 것에 대해, [QWidget :: nativeEvent] (http://qt-project.org/doc/qt-5/qwidget.html#nativeEvent)를 살펴보십시오. – BaCaRoZzo

+1

사용자가 AcmeMusicPlayer를 오디오 파일의 기본 응용 프로그램으로 선택한 경우 어떻게됩니까? 또한 사용자가 미디어 플레이어에 전체 앨범을 드롭하면 각 항목에 대한 이벤트를 원하십니까? 이것은 끔찍하게 undespec'ced (그리고 정확한 요구 사항에 관계없이 문제) – MSalters

+0

응답자에게 친절한 알림, 답변과 같은 질문을 제공하지 마십시오. 우리는 qt 태그에서 적절한 질문에 답하려고 노력합니다. – lpapp

답변

2

'이벤트'가 없습니다.

미디어 플레이어 (winapi :: FindWindow 기준) 또는 이미지 뷰어를 찾을 수 있습니다.

1

QT의 내장 함수만으로는 불가능하다고 생각합니다. Windows API를 사용해야합니다. 실제로 무엇을하고 싶은지에 따라 상당히 복잡해질 수 있습니다. 특정 응용 프로그램이 아직 시작되었는지 확인하려는 경우 FindWindow 함수를 사용할 수 있습니다. Qt 타이머를 사용하여 윈도우가 아직 열렸는지 확인하는 데 사용할 수있는 신호를 만들 것을 제안합니다.
QTimer::singleShot(200, this, SLOT(checkForMediaPlayer())); MediaPlayer가 검색되면 원하는대로 수행 할 checkForMediaPlayer 멤버 함수와 함께이 값을 QObject에 추가하면됩니다.

관련 문제