• 6085阅读
  • 8回复

把本地的U盘都列出来 [复制链接]

上一主题 下一主题
离线吴立勇
 
只看楼主 倒序阅读 楼主  发表于: 2010-01-21
如题...我的系统是windows,
如果qt不行,qt可以调用什么来做,谢谢了
[ 此帖被吴立勇在2010-01-22 15:08重新编辑 ]
离线zzh

只看该作者 1楼 发表于: 2010-01-22
如果在WIN系统里,就挨个检测A-Z驱动器,如果是LINUX,就挨个检测SDA1 ADA2.......SDB1.......
离线吴立勇
只看该作者 2楼 发表于: 2010-01-22
不知道怎么检测。。。
离线yangfanxing
只看该作者 3楼 发表于: 2010-01-22
你就试着打开盘符呗;

    QDir uu;
    bool uu1 = uu.cd("C:");
    bool uu2 = uu.cd("H:");
    qDebug() << uu1 <<uu2;

WIN为例哈~
返回true的就是有盘符啦;返回false的就是没有啦;
从A盘检测到“Z”盘够了吧?(怎么会有那么多U盘)。。。
你要是只检测U盘,比如系统盘符到F(有的只到D或E等。。。)就检测G->Z;

笨了点儿,但要不是试试检测的话这样就可以了~
PHPWind好恶心。。。不想看这种界面。。。
离线午小夜

只看该作者 4楼 发表于: 2010-01-22
omg。。。這需求有點杯具。。。
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线benbenmajia

只看该作者 5楼 发表于: 2010-01-22
可以检测这些个串口有没连接的,不过这样的时候会把显示器(desk computer)和鼠标什么的一切通过串口的东西都检测出来,然后再筛选,或许可行,我忘记串口的这个东西的接口是什么了,你google下看能不能有什么方法做
安然.....
离线water_wf

只看该作者 6楼 发表于: 2010-01-25
QDir::drives()可得到所有的盘符,qt应该没有办法来判断
在window下,可通过GetVolumeInformation(),getDriveType()
在linux,似乎只能访问proc文件系统来得到
离线benbenmajia

只看该作者 7楼 发表于: 2010-01-25
引用第6楼water_wf于2010-01-25 08:42发表的  :
QDir::drives()可得到所有的盘符,qt应该没有办法来判断
在window下,可通过GetVolumeInformation(),getDriveType()
在linux,似乎只能访问proc文件系统来得到

不会真的这么杯具吧?
安然.....
离线吴立勇
只看该作者 8楼 发表于: 2010-01-25
引用第6楼water_wf于2010-01-25 08:42发表的  :
QDir::drives()可得到所有的盘符,qt应该没有办法来判断
在window下,可通过GetVolumeInformation(),getDriveType()
在linux,似乎只能访问proc文件系统来得到


windows下qt怎么调用GetVolumeInformation(),getDriveType(),它们是windows的api吗,
另外说下,linux下除了用proc,还可以调用hal得到u盘信息。

不知道你有没有做过qt在windows下的U盘探测程序,可以交流下
快速回复
限100 字节
 
上一个 下一个