ytw*_*ytw 3 usb mfc visual-c++
我有一个MFC应用程序,我想通过USB闪存驱动器分发.该应用程序的要求之一是当用户拔下USB闪存时,MFC应用程序应该自行退出.
我添加了代码来检测USB闪存删除并在发生时退出应用程序.当USB闪存拔下时,应用程序大多数时间都会自行退出.但有时(50%),我会得到"AppName.exe已停止工作".Windows 7中的错误消息.在调试器下运行时,我得到更多详细信息,这是"第一次机会异常:0xC0000006:页面错误".错误.
在一些谷歌搜索之后,该错误似乎是由于删除了底层媒体并且内存管理器无法从媒体读取(在这种情况下为USB闪存).参考1:页面错误0xc0000006 参考2:http://blogs.msdn.com/b/oldnewthing/archive/2008/12/04/9172708.aspx
这个MFC应用程序是一个小的单个可执行文件程序.我的问题是,是否有办法强制Windows操作系统在执行之前将整个.exe文件加载到内存中.我的想法是,如果我可以让Windows在执行之前将整个程序加载到内存中,那么当移除USB闪存并且不需要的错误消息问题可能会消失时,内存管理器将不需要访问磁盘.
谢谢你的帮助!