在WINCE下,用VC开发一个窗体。开启一条线程
static DWORD CALLBACK Run(LPVOID lpVoid)
{
::CoInitializeEx(NULL,COINIT_MULTITHREADED); //创建XML接口
while(true)
{
CComPtr xmlDoc;
xmlDoc.CoCreateInstance(__uuidof(MSXML::DOMDocument)); //创建文档对象
HRESULT hr=xmlDoc->load("\\My Documents\\ts.xml");
xmlDoc.Release();
Sleep(5000);
}
return true;
}
}
然后用一个按钮去启动该线程! 再创建一个按钮,做最小化程序操作:this->ShowWindow(SW_MINIMIZE); 按理只要在系统中点击程序,就可以还原。
大约过了六七秒后,在系统中如何双击程序,都没法还原程序了!
请问有没有人遇到过这种情况,有何解决方法呢?
CoInitializeEx 是不是对应一个UnInitialize的函数呀,调用下。
希望各位能够尽力帮助解决问题!事实上我对这个论坛是很失望!我是由桌面开发转去WINCE,系统硬件的不同令我好困扰,好多诸如以上的错误在桌面是从来不会遇到的!我也没时间完全处理掉!
试过了,也是行不通! 可以在手机上试一试,我是比较希望是手机问题,不是程序问题
不明白LZ的调用,既然用了智能指针,为什么出来的时候还要Release?这样没有异常产生么?
好怪异的行为,你的while循环 老是在重复加载那个XML文件干吗
另外 这个循环根本就不会终止啊,系统都被你这个循环给堵死了吧?
首先楼主的这个进程很怪异啊
按理只要在系统中点击程序,就可以还原。
大约过了六七秒后,在系统中如何双击程序,都没法还原程序了!
是不是最小化了之后不能还原?
启动线程的按钮和最小化的按钮是不是同一个按钮?
我以前写过在WINDOWS MOBILE上关于XML的程序,肯定是可以的.
LZ再试试.