调用之前 加HRESULT Hr = ::CoInitialize(NULL);
调用之后加::CoUninitialize();
注意CoInitialize 和 CoUninitialize 的调用时机问题
最好整个程序在初始化的时候CoInitialize,程序结束的时候CoUninitialize,过早CoUninitialize容易导致其他一些COM接口异常,网上查的CoInitialize 和 CoUninitialize可以自动一一对应,但是我在程序中这样用会出问题,比如对话框程序,点击一个按钮的事件中,
void xxx::OnButton1()
{
CoInitialize(NULL);
//新建一个窗口
CoUninitialize();
}
如上使用的话,整个程序莫名其妙的关闭,不显示了。