QStringList params;
params<<proc;
process.start("cmd.exe", params);
if (!process.waitForStarted())
return false;
if (!process.waitForFinished())
return false;
qDebug("finished");
Так и сделал, но до строчки qDebug управление никогда не доходит, все висит на waitForFinished, что мешает определить был ли подключен диск.