Windows - 如何禁用"错误卷"错误消息

OSH*_*OSH 5 c++ windows

我的应用程序是在后台读/写数据到可移动媒体(USB DOK).问题是当应用程序运行时删除USB时,计算机会弹出一条错误消息:

错误的卷

驱动器中的卷错误.请将音量插入驱动器E:.

取消再试一次继续

这在GetFileSize,ReadFile等操作期间发生.显然,由于应用程序应该在后台工作,我想压制这些消息并默默地失败.

顺便说一句 - 似乎提供这些消息的进程不是我的进程,而是CSRSS.EXE(虽然原因绝对是我的进程中的操作).

我正在考虑的一个方向是切换到NtQueryInformationFile,NtReadFile等,但我宁愿不...

谢谢

rod*_*igo 2

尝试致电:

SetErrorMode(SEM_NOOPENFILEERRORBOX);
Run Code Online (Sandbox Code Playgroud)

在 main 函数的开始处。

文档中:

系统找不到文件时不会显示消息框。相反,错误将返回给调用进程。