我正在制作Windows Mobile应用程序,它引用了一些DLL,但我在这里遇到了一些问题。
想象一下,我的应用程序仅安装在存储卡中存在的与存储卡相关的DLL中,
如果我启动的应用程序引用了DLL的一部分,现在我将移除存储卡,但我的应用程序仍在运行,它不会退出,最终只会导致我的移动设备重启。
我确实收到了设备卡删除通知,但是它在DLL及其c++代码中..如果卡被删除,则存储卡中将没有DLL,我什至没有在C#中得到通知,我也没有如何获取卡删除通知。在C#中。如何处理这些情况,请告诉我。

谢谢

最佳答案

您可以使用功能SHChangeNotifyRegisterWM_FILECHANGEINFO消息。

订阅后,您将收到ID为诸如SHCNE_DRIVEREMOVEDSHCNE_MEDIAREMOVED之类的事件,因此删除存储卡后可以触发一些操作。

要使用紧凑框架中的本机函数,请使用P / Invoke。

09-27 14:12