Изучите реализацию метода winEvent (), скажем, в вашем подклассе MainWindow.
#include "Windows.h"
#include "Dbt.h"
bool MainWindow::winEvent(MSG *message, long *result)
{
if (message->message==WM_DEVICECHANGE)
{
ui->plainTextEdit->appendPlainText("WM_DEVICECHANGE message received");
if (message->wParam==DBT_DEVICEARRIVAL)
ui->plainTextEdit->appendPlainText("A new device has arrived");
if (message->wParam==DBT_DEVICEREMOVECOMPLETE)
ui->plainTextEdit->appendPlainText("A device has been removed");
}
return false;
}
Я только что проверил вышеупомянутое, вставив свою USB-видеокамеру в систему и удалив ее, и я получил соответствующийсмотреть вывод в текстовом редакторе.Конечно, вы должны увидеть дополнительную информацию о методе winEvent () в документации Qt.(Информация о том, когда возвращать false или true из функции и т. Д.)