당신은 레지스트리 Internet Explorer에서 COM 개체의 서버를 읽기 (ususally, 그것은
shdocvw.dll에 의해 호스팅됩니다 또는 최신 버전에서 ieframe.dll), 및 수동으로 이런 일을로드 할 수
:
TCHAR key[MAX_PATH];
// read CLSID_InternetExplorer COM Server path
SHRegGetPath(HKEY_CLASSES_ROOT, _T("CLSID\\{8856F961-340A-11D0-A96B-00C04FD705A2}\\InProcServer32"), NULL, key, 0);
HINSTANCE hInstance = LoadLibrary(PathFindFileName(key));
if (hInstance)
{
DLLGETVERSIONPROC fn = (DLLGETVERSIONPROC)GetProcAddress(hInstance, "DllGetVersion");
if (fn)
{
DLLVERSIONINFO2 version;
ZeroMemory(&version, sizeof(DLLVERSIONINFO2));
version.info1.cbSize = sizeof(DLLVERSIONINFO2);
(*fn)((DLLVERSIONINFO*)&version);
printf("Major:%u\n", version.ullVersion >> 48);
printf("Minor:%u\n", (version.ullVersion >> 32) & 0xFFFF);
printf("Build:%u\n", (version.ullVersion >> 16) & 0xFFFF);
printf("QFE:%u\n", version.ullVersion & 0xFFFF);
}
FreeLibrary(hInstance);
}
인가 새로운 IE 에서이 작품은? 나는'Microsoft Web Browser Control '의 새로운 버전이'shdocvw.dll' 안에 있지 않다고 들었습니다. – UltimaWeapon
그럴 수도 있습니다. InternetExplorer COM 개체의 서버 경로를 읽으려고 내 대답을 업데이트했습니다. 최근 버전에서는 실제로 ieframe.dll에 의해 제공됩니다. –