请问,怎么把工作线程转化成工作线程
解决方案 »
- win32 一个有关控件图片显示的‘奇怪’问题
- 分数小问题
- 怎么用VC的oledb读取ado生成的XML文件?
- 如何让计算机向并口的某一个引脚,发一个脉冲?(在线等)
- 论一下 upd数据包重组,分多的是。
- 为什么会出现"unexpected end of file while looking for precompiled header directive"错误?
- 一个关于文件读取的问题!
- 有关CSocket的派生类在线程中使用后,收不到onclose消息,如何解决?
- Debug Assertion Failed! 是什么意思?
- ★★收到研究生录取通知书,散分.(顺便问个问题)★★
- 如何分割一个view的界面,使得左边是CTreeCtrl,右边是CListCtrl,并且可以改变大小?
- 请教,有没有客户端模式使用完成端口管理I/O操作的?
写错啦,写错啦,写错啦,写错啦,写错啦,应该是:怎样把一个UI Thread转换成一个WORK Thread或者
怎样把一个WORK Thread转换成一个UI Thread
请高手指教!
能否举一个简单的例子?
谢谢!
比如在一个线程中:
就象WinMain中那样做的一个建个窗口并加一个消息循环就行了,
MSG msg;
while( TRUE )
{
if (!GetMessage( &msg, NULL, 0, 0))
break; TranslateMessage(&msg);
DispatchMessage(&msg);
}
就由普通的工作线程变成UI线程了,如果没有这个,也就是工作线程了.
CreateWindow(..)
再跟消息循环
while(GetMessage(..))
{..}
{
//在新线程中启动IE
CString strExeFileName = "IExplore.exe";
::ShellExecute(NULL, "OPEN", strExeFileName, NULL, NULL, SW_SHOW);
return 0;
}
void CThreadTestView::OnThread()
{
......
AfxBeginThread(UIThreadProc, this);
......
}