Когда я задал этот вопрос , я принял ответ, потому что он имел смысл, и указанная документация была правильной.
При тестировании машины с IE6 на другой машине с IE7 с тем же скомпилированным исполняемым файлом с использованием TWebBrowser поведение действительно было таким, как указано в ответе.
Теперь я снова подвергаю сомнению ответ, в машине с IE8 этот же исполняемый файл определяется сервером как IE7. Я написал простое приложение rails, которое пишет пользовательский агент, и это понятно. На той же машине, если я получаю доступ к этому приложению rails в IE, оно печатает:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6.5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 3.0.30729)
Когда я получаю доступ с помощью этого исполняемого файла:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; GTB6.5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 3.0.30729)
Более того, с небольшой помощью моего друга Process Monitor Я понял, что classid, вызываемый для создания экземпляра TWebBrowser, - {8856F961-340A-11D0-A96B-00C04FD705A2}, имя которого в реестре Windows имеет имя " Microsoft Web Browser "и указывает на ieframe.dll.
Теперь все становится немного более странным. Если я захожу в system32 / ieframe.dll и проверяю версию ... 8.0.
Я действительно запутался. Вопрос: когда я использую TWebBrowser, какая версия ie будет использоваться, действительно?
Спасибо.