Мне в линуксе нужно.
можно через DBUS и HAL:
QStringList myClass::getUnmountedPartition()
{
QDBusMessage reply = iface->call( "FindDeviceByCapability", "block" );
QList <QVariant> args = reply.arguments();
QStringList listDevicesStr;
foreach(QString _device, args[0].toStringList() ){
const QString devStr(_device);
QDBusInterface * device = new QDBusInterface( "org.freedesktop.Hal", devStr, "org.freedesktop.Hal.Device", QDBusConnection::systemBus(), this);
QDBusMessage isVolume = device->call( "GetProperty", "block.is_volume" );
if ( !isVolume.arguments()[0].toBool() ) continue;
QDBusMessage fsType = device->call( "GetProperty", "volume.fstype" );
if ( fsType.arguments()[0].toString() == "swap" ) continue;
QDBusMessage isMount = device->call( "GetProperty", "volume.is_mounted" );
if ( isMount.arguments()[0].toBool() == false ){
listDevicesStr << devStr;
}
delete device;
}
return listDevicesStr;
}
возвращает список неподмаунченых разделов , в том числе и флешек всяких.
можно посмотреть вывод hal-device и выискивать что тебе надо из этого списка.
В общем спрашивай, чем смогу помогу.