- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是这样使用它的:
if(QDir("G:/").isReadable()){
qDebug("G Is readable!"); //Do something with G:/
}
正如我所说,在 Qt Creator 中它运行良好,没有问题,它检查驱动器是否可读,如果是,它会将它打印到控制台,如果不是,它什么也不做。
但是当我运行 .exe 文件时,如果驱动器不可读,它每次检查(每 2 秒)时都会给我错误。
“驱动器中没有磁盘。请将磁盘插入驱动器G:。”
我不希望此错误继续出现,我该怎么办?
编辑:我认为是 isReadable 函数导致了问题,还有其他方法可以做我想做的事吗?还是我应该自己编写代码?
最佳答案
此消息由 Windows 生成。
对于拥有无法修复的应用程序的用户,有一个解决方法。可以通过将 2
设置为注册表项 ErrorMode
来抑制错误消息:
Computer\HKEY_LOCAL\MACHINE\SYSTEM\CurrentControlSet\Control\Windows
看起来如果在移除媒体后调用 QDir::isReadable()
会触发该错误。 QDir::exists()
如果盘符存在于系统中,则始终返回 true
,因此不能在此处使用。
现在我看到可以使用 native Windows API 检查可移动媒体,请参阅 How to detect if media is inserted into a removable drive/card reader 的答案
以下代码能够在不触发错误的情况下检测到媒体已被移除:
#include <windows.h>
HANDLE hDevice = CreateFile (L"\\\\.\\G:", // like "\\.\G:"
FILE_READ_ATTRIBUTES, // read access to the attributes
FILE_SHARE_READ | FILE_SHARE_WRITE, // share mode
NULL, OPEN_EXISTING, 0, NULL);
if (hDevice == INVALID_HANDLE_VALUE) {
// not valid device
return;
}
WORD cbBytesReturned;
bool bSuccess = DeviceIoControl (hDevice, // device to be queried
IOCTL_STORAGE_CHECK_VERIFY2,
NULL, 0, // no input buffer
NULL, 0, // no output buffer
(LPDWORD)&cbBytesReturned, // # bytes returned
NULL); // synchronous I/O
CloseHandle(hDevice); // close handle
if (bSuccess && QDir("G:/").isReadable()) {
// G is readable
}
关于c++ - 我正在使用 QDir().isReadable 来检查驱动器是否可读。在 Qt Creator 中它运行良好,但是当我运行 exe 时它一直给我错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33003769/
我的 Android 应用程序遇到了一个新问题。 SocketChannel 告诉我它是 isReadable() 但没有什么可读的。 while(running) { int
本文整理了Java中org.geoserver.security.WorkspaceAccessLimits.isReadable()方法的一些代码示例,展示了WorkspaceAccessLimit
我发现,除了简单的案例之外,NIO 的记录充其量也很少。即便如此,我已经完成了教程和几次重构,并最终回到了最简单的情况,我仍然偶尔会遇到 isReadable 因 0 字节 SocketChannel
我已经能够使用 php-ews API 从 Exchange 2010 收件箱中成功检索未读电子邮件。但是,在我获取电子邮件后,我想将电子邮件的 IsRead 属性设置为 true,以便下次我获取电子
如何使用 EWS 或其他方法更新 EmailMessage 的 IsRead 属性? 只是设置 mail.IsRead=true 似乎不会持续。 最佳答案 好吧,在我发布将近 1 小时后没有人回答我的
本文整理了Java中com.zsmartsystems.zigbee.zcl.ZclAttribute.isReadable()方法的一些代码示例,展示了ZclAttribute.isReadable
根据本文档 Synchronize messages API 用户可以使用非常简单的 skipToken 机制来同步消息。它适用于获取文件夹中的新消息。 但! 我还感兴趣的是如何同步标志和状态,例如消
我是这样使用它的: if(QDir("G:/").isReadable()){ qDebug("G Is readable!"); //Do something with G:/ } 正如我所
这三个设置或检查文件是否可读/可写的区别是什么?我在这里的学期之间有点迷失了.. 我具体需要的是以可读模式打开文件?选择哪一个?如果答案是 nio.Files 我使用的是 JVM 1.6,它不包含它,
我是一名优秀的程序员,十分优秀!