MFC程序中由主窗口创建子窗口时,子窗口线程的优先级为normal,由于主窗口子窗口都有消息队列在循环处理,二者优先级一样会影响主线程执行情况,如何改变子窗口线程优先级原来思路是通过子窗口指针来获取线程指针,但是GetWindowThreadProcessId()函数返回的是创建子窗口的线程ID和进程ID请各位大虾帮忙~
解决方案 »
- VC6 socket通讯 发送端 问题 VC6和vc9区别?~
- ATL 写的DLL VS 用普通方式写的DLL 有什么区别么,
- 如何获得局域网内所有主机的IP地址和主机名
- 关于开发IE ToolBar添加TBButton的问题 高手关注一下 非常着急 谢谢
- vc的listbox中的内容怎么导出为excel文件?
- HOOK奇怪问题
- 有个朋友给我说,这里的人是这么回事的....
- 是哪里有问题啊?
- 关于在Windows下重叠I/O的完成例程中,如何使用SleepEx函数问题
- CDC和CClientDC问题
- 如何让CSerialPort这个串口类支持com1-com4以外的串口(如com5)
- 求详细解读下面的代码.
MFC创建的窗口线程无法指定优先级,我想通过SetThreadPrioriyty()来设置,但暂时找不到hThread
在一个应用程序中,一般只有一个消息循环(除非你自己在死循环中又写了一个,但是也只有一个消息循环气作用),这个程序中的所有窗口的消息都是又这个消息循环来转发的,而这个消息循环就在主线程中。LZ是不是把窗口和线程弄混淆了啊,感觉很混乱……
eg:
主线程。
子窗口。
之类的。
现在想获取的是主线程中创建出的子窗口的线程句柄
BOOL MainDlg::OnInitDialog()
{
CDialog::OnInitDialog(); Handle hmainthread=::GetCurrentThread(); Dlg=new Dlg(this);
Dlg->Create(IDD_DIALOG_DLG,NULL);
Dlg->ShowWindow(TRUE); ......
}Dlg的窗口句柄应为Dlg->m_hwnd
如何获取Dlg的线程句柄
结贴了散分 谢谢回帖的各位