项目中嵌入了IE控件,近期做了一次大改版,发现网页不能进行复制和剪切了,折腾了半天,发现是com初始化有问题:
修正前的方式:
CoInitialize(NULL);
// do your work
CoUninitialize();
修正后的方式:
OleInitialize(NULL);
// do your work
OleUninitialize();
MSDN上对OleInitialize的描述是这样的:
如果应用程序使用如下功能,在调用任何其他Com库中函数之前,必须调用OleInitialize:
> Clipboard 剪切板 ---复制和剪切要用到这个东东
> Drag and Drop 拖拽
> Object linking and embegging(OLE)
> In-Place activation
OleInitialize在内部调用了CoInitialize