IShellWindows::get_Count的问题?????

wxinstudent 2009-06-30 11:06:24
//我在主线程中用如下语句获取到了IShellWindows接口指针
CoInitalize(NULL);

//头文件中声明CComPtr<IShellWindows> m_spSHWinds;
//程序类CStudyTimeDlg中给了下面的实现
CoInitialize(NULL);
if (m_spSHWinds.CoCreateInstance((CLSID_ShellWindows)) != S_OK)
{
MessageBox(_T("Failed"));
return FALSE;
}



//在程序类CStudyTimeDlg中新建了一个工作线程
DWORD dwThreadId;
if(m_hThread==NULL)
{
m_hThread=CreateThread(NULL,0,HandleTime,this,0,&dwThreadId); //this为主窗口类指针
}



//线程函数为
DWORD WINAPI CStudyTimeDlg::HandleTime(LPVOID pParam)
{

//
CStudyTimeDlg *pStudyDlg=(CStudyTimeDlg*)pParam;

long nCount=0;
pStudyDlg->m_spSHWinds->get_Count(&nCount);
}


为什么nCount为0呢?请高手能给予指点,我不胜感激!!!!!
...全文
174 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2009-07-01
  • 打赏
  • 举报
回复
是的,shell的COM接口的实现是在Windows需要在4兆内存的机器运行的时候写的,能省则省……
wxinstudent 2009-07-01
  • 打赏
  • 举报
回复
请问jiangsheng凡是Shell接口都这样吗?为什么会这样能说说原因吗?
efeeler1925 2009-07-01
  • 打赏
  • 举报
回复
困难!帮顶!
蒋晟 2009-07-01
  • 打赏
  • 举报
回复
Shell的接口都不支持MTA,在STA里也不能跨线程调用。
zxf_shi 2009-07-01
  • 打赏
  • 举报
回复
帮顶!
zhu6789888 2009-07-01
  • 打赏
  • 举报
回复
顺便帮顶。

jiangsheng 大哥,帮忙看看:
http://topic.csdn.net/u/20090629/10/49aa97e5-9aa7-417c-bda8-704185b3c2ff.html?seed=441185272

谢谢!
空心兜兜 2009-07-01
  • 打赏
  • 举报
回复
请到编程开发版

6,873

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧