正如标题所述,我有一个在USB驱动器上运行的应用程序。如果卸下了USB驱动器,则应关闭应用程序。也可以只让应用程序崩溃,但应该禁止错误窗口(... exe停止工作)。目前,我移除USB驱动器时出现应用程序崩溃的错误。我尝试通过线程检查驱动器是否仍插入来执行此操作,但这不起作用。
while(running){
bool found = false;
auto drivesList = QStorageInfo::mountedVolumes();
for(auto& drive : drivesList){
if(drive.rootPath() == storage){
found = true;
}
}
if(!found){
application->quit();
}
}
这是我检查是否应在单独的线程中退出应用程序的方式。 storage
是带有驱动器rootpath
的QString。