#include <objbase.h>
void main()
{
int hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
}
奇怪怎麼發生錯誤? Google了一下原來在 ColnitializeEx在objbase.h中的定義如下:
#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
WINOLEAPI CoInitializeEx(LPVOID pvReserved, DWORD dwCoInit);
#endif // DCOM
這表示使用前必須先加入:#define _WIN32_DCOM
重點是此行必須加在 #include <objbase.h> 之前,改成如下即可執行。
#define _WIN32_DCOM
#include <objbase.h>
void main()
{
int hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
}
沒有留言:
張貼留言