1、COM组建初始化问题
问题:MSDN中说到,要使用SHBrowseForFolder必须先用CoInitialize 初始化COM库。处理完后,用CoUninitialize关闭com库。但我用vc6和vs2012试过SHBrowseForFolder,不用初始化COM库,都没有问题,这是为啥?
原因说明:其实LZ估计创建的是MFC工程,创建工程时,MFC框架会自动添加初始化COM库的代码,即在CXXXXXXApp::InitInstance()中添加了对AfxOleInit调用,AfxOleInit内部进行了COM库的初始化,且看MSDN对AfxOleInit的说明:
Call this function to initialize the OLE support for an MFC application. When this function is called, the following actions occur:
-
Initializes the COM library on the current apartment of the calling application. For more information, see OleInitialize.