QT:检测U盘插入和拔出(windows)

1、先检测驱动器;

2、可以使用GetDriveType函数来获取驱动器的类型,以下是函数的链接;

https://docs.microsoft.com/zh-cn/windows/win32/api/fileapi/nf-fileapi-getdrivetypea?redirectedfrom=MSDN 

3、通过数量变化来判断插入或者移除。

关键代码

/*******************************************************
* @brief        -
* @author       xiaolei
* @copyright    -
* @version      V1.0
* @data         2019-11-19
* @note         1、检测盘符
* @note         2、判断是否插入/移除移动驱动器
* @note         3、没有获取设备ID,因此不知道删除的是哪个设备?
* @note         -
*******************************************************/
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QFileInfoList list =  QDir::drives();  //获取当前系统的盘符
    qDebug()<<"驱动器数量: "<start(3000);
    connect(timer,&QTimer::timeout,this,&MainWindow::detectDriver);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::detectDriver()
{
    QFileInfoList list =  QDir::drives();  //获取当前系统的盘符

    int temp_number=0;

    std::vector driver_types;
    for(int i=0;iremovable_number)
    {
        qDebug()<<"驱动器数量: "<

 

你可能感兴趣的:(《QT学习笔记》)