我的应用程序正在后台将数据读/写到可移动介质(USB DOK)。问题是,当应用程序工作时移除USB时,计算机会弹出一条错误消息:
错误的音量
驱动器中的卷错误。请将卷插入驱动器E:。
取消重试继续
这发生在诸如GetFileSize、ReadFile之类的操作期间。显然,由于应用程序应该在后台运行,我希望抑制这些消息并静默失败。
顺便说一句,给出这些消息的进程似乎不是我的进程,而是CSRSS.EXE (尽管原因肯定是我的进程的操作)。
我正在考虑的一个方向是切换到NtQueryInformationFile、NtReadFile等,但我不希望...
谢谢
发布于 2014-03-16 03:54:10
尝试呼叫:
SetErrorMode(SEM_NOOPENFILEERRORBOX);在你的main函数的开始。
从documentation
当系统找不到文件时,不会显示消息框。相反,错误将返回到调用进程。
发布于 2012-01-19 16:26:05
我建议你使用windows系统托盘中的图标正确地断开你的硬件,这样当你从驱动器中拔出它时,它就不会被访问了。或者至少先退出ap。
https://stackoverflow.com/questions/8922928
复制相似问题