我的应用程序在后台读取/写入数据到可移动媒体(USB DOK)。 问题是,当应用程序正在运行时,USB被移除时,电脑会popup一条错误消息:
这发生在诸如GetFileSize,ReadFile之类的操作中。 显然,由于该应用程序应该在后台工作,我想压制这些消息,并默默地失败。
顺便说一句 – 看起来,给这些消息的过程不是我的过程,但CSRSS.EXE(虽然原因绝对是我的过程中的操作)。
我正在考虑的一个方向是切换到NtQueryInformationFile,NtReadFile等,但我宁愿不…
谢谢
尝试拨打:
SetErrorMode(SEM_NOOPENFILEERRORBOX);
在你的主要功能的开始。
从文档 :
系统在找不到文件时不显示消息框。 相反,错误将返回给调用进程。
我建议你使用Windows系统托盘中的图标正确断开硬件连接,以便在将其从驱动器中取出时不会被访问。 或者至少先退出你的ap。