我的应用程序是在后台读取/写入可移动媒体(USB DOK)的数据。问题是当应用程序运行时移除USB时,计算机会弹出错误消息:
这在GetFileSize,ReadFile等操作期间发生。显然,由于应用程序应该在后台工作,我想压制这些消息并默默地失败。
BTW - 似乎提供这些消息的进程不是我的进程,而是CSRSS.EXE(虽然原因绝对是我的进程中的操作)。我正在考虑的一个方向是切换到NtQueryInformationFile,NtReadFile等,但我宁愿不...
由于
答案 0 :(得分:2)
尝试致电:
SetErrorMode(SEM_NOOPENFILEERRORBOX);
在主要功能的开头。
系统无法找到文件时不显示消息框。而是将错误返回给调用进程。
答案 1 :(得分:1)
我建议您使用Windows系统托盘中的图标正确断开硬件连接,以便在将其从驱动器中拉出时不会被访问。或者至少退出你的ap。