OLE 剪切板问题 ~~~

yale28 2008-11-20 11:47:53
写了一段使用OLE剪切板的代码 编译通过 运行时点击按钮 出现 “尚未调用CoInitialize”的错误
上网查了下 说是 “进程必须调用CoInitialize来初始化COM函数库” 不知道 CoInitialize(NULL);要在什么地方初始化 有劳各位指点下


void CClipboardDlg::OnBtnOlesend()
{

char szText[] = "Hello MFC";
HANDLE hData = GlobalAlloc(GMEM_MOVEABLE,lstrlen(szText)+1);
LPSTR pData = (LPSTR)GlobalLock(hData);
lstrcpy(pData,szText);
GlobalUnlock(hData);

COleDataSource *pods = new COleDataSource;
pods->CacheGlobalData(CF_TEXT,hData);
pods->SetClipboard();

}
...全文
172 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sys0005 2008-11-21
  • 打赏
  • 举报
回复
在程序开始的地方
MFC程序可以在APP的InitInstance里
在ExitInstance里调用CoUninitialize
lwx300 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sys0005 的回复:]
在程序开始的地方
MFC程序可以在APP的InitInstance里
在ExitInstance里调用CoUninitialize
[/Quote]

一般是在这2处调用的。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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