我想建立一個應用程序來檢測到Windows事件,涉及到多媒體特定事件(播放視頻,播放音頻和圖像)。如何檢測Qt中的Windows事件?
例如,如果Windows Media Player打開時,相關的事件應該被檢測到。
我想建立一個應用程序來檢測到Windows事件,涉及到多媒體特定事件(播放視頻,播放音頻和圖像)。如何檢測Qt中的Windows事件?
例如,如果Windows Media Player打開時,相關的事件應該被檢測到。
沒有爲沒有「事件」。
您可以檢測的媒體播放器的lauches(由WINAPI :: FindWindow函數)或圖像瀏覽器。
我不認爲這是可能的QT內置的單獨功能做到這一點。你將不得不使用Windows API。取決於你真正想做什麼,這可能會變得非常複雜。 如果你只是想檢查,如果某個應用程序尚未啓動,你可以使用FindWindow功能。我建議使用qt定時器來創建信號,您可以使用它來檢查窗口是否已打開。
QTimer::singleShot(200, this, SLOT(checkForMediaPlayer()));
只需將此添加到您的QObject以及checkForMediaPlayer成員函數中,該函數將在檢測到MediaPlayer後執行任何您想要的操作。
對於媒體播放器,可用的事件是[here](http://msdn.microsoft.com/en-us/library/aa912134.aspx),但正如FIO(和AFAIK)所說,沒有真正的普遍支持需要。順便說一下,關於處理win事件的問題,請看[QWidget :: nativeEvent](http://qt-project.org/doc/qt-5/qwidget.html#nativeEvent)。 – BaCaRoZzo 2014-12-04 11:38:30
如果用戶選擇AcmeMusicPlayer作爲音頻文件的默認應用程序,該怎麼辦?此外,如果用戶在媒體播放器上放置整個相冊,您是否希望爲每個項目添加事件?這是可怕的低估(和一個問題,無論具體的要求) – MSalters 2014-12-04 12:03:25
友好提醒回答者,請不要喂這些問題的答案。我們只嘗試在qt標籤中回答適當的問題。 – lpapp 2014-12-05 07:40:48