[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 3 года
  • Сообщений: 2840
  • Репутация:98

    [+] [-]
  • Откуда: Админ от сюда
Usbtor.ru Browser- Небольшой браузер, для пользователей сайта: usbtor.ru
    Никаких вкладок
    Минимальная нагрузка на проц и память компа
    Быстрая загрузка
    Если понравится, то можно будет использовать с программой: UsbtorChk
    (на данный момент не принимает ключи запуска)
-Проект закрыт, так как на сайте появились мини браузеры лучшие по функционалу и размеру файла от nikzzzz и Adler
Вложение

Обновлено 14.35



Последний раз редактировалось: Joker-2013 (2017-09-28 07:50), всего редактировалось 8 раз(а)

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 3 года 5 месяцев
  • Сообщений: 2277
  • Репутация:127

    [+] [-]
44542 откуда значения берутся
Отсюда.

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 3 года
  • Сообщений: 2840
  • Репутация:98

    [+] [-]
  • Откуда: Админ от сюда
nikzzzz, Что бы в своей программе сделать, надо в начале считать какой доступный, а уж потом внести значение в реестр... Как узнать?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 3 года 5 месяцев
  • Сообщений: 2277
  • Репутация:127

    [+] [-]
44544Как узнать?
Из реестра.
А лучше по версии файла ieframe.dll .

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 1 год 5 месяцев
  • Сообщений: 540
  • Репутация:42

    [+] [-]
44545А лучше по версии файла ieframe.dll
А если на компьютере несколько движков ИЕ (разной степени устарелости)? af

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
Joker-2013, нашел пример определения нужного режима на C#, легко разобраться:

Скрин

код

private UInt32 GetBrowserEmulationMode()
        {
            int browserVersion = 7;
            using (var ieKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer",
                RegistryKeyPermissionCheck.ReadSubTree,
                System.Security.AccessControl.RegistryRights.QueryValues))
            {
                var version = ieKey.GetValue("svcVersion");
                if (null == version)
                {
                    version = ieKey.GetValue("Version");
                    if (null == version)
                        throw new ApplicationException("Microsoft Internet Explorer is required!");
                }
                int.TryParse(version.ToString().Split('.')[0], out browserVersion);
            }
            UInt32 mode = 11000; // Internet Explorer 11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 Standards mode. Default value for Internet Explorer 11.
            switch (browserVersion)
            {
                case 7:
                    mode = 7000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. Default value for applications hosting the WebBrowser Control.
                    break;
                case 8:
                    mode = 8000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. Default value for Internet Explorer 8
                    break;
                case 9:
                    mode = 9000; // Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9.
                    break;
                case 10:
                    mode = 10000; // Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE10 mode. Default value for Internet Explorer 10.
                    break;
                default:
                    // use IE11 mode by default
                    break;
            }
            return mode;
        }
Т.е. читается ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion, если его нет, то HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version и из него потом выбирается режим.
И еще в том примере для полного "реализма", т.е. что бы встраиваемый объект вел себя как полноценный IE создается куча других ключей в реестре по пути @"Software\Microsoft\Internet Explorer\Main\FeatureControl\

Скрин

Код

SetBrowserFeatureControlKey("FEATURE_BROWSER_EMULATION", fileName, GetBrowserEmulationMode()); // Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode.
            SetBrowserFeatureControlKey("FEATURE_AJAX_CONNECTIONEVENTS", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_MANAGE_SCRIPT_CIRCULAR_REFS", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_DOMSTORAGE ", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_GPU_RENDERING ", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_IVIEWOBJECTDRAW_DMLT9_WITH_GDI  ", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_DISABLE_LEGACY_COMPRESSION", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_LOCALMACHINE_LOCKDOWN", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_BLOCK_LMZ_OBJECT", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_BLOCK_LMZ_SCRIPT", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_DISABLE_NAVIGATION_SOUNDS", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_SCRIPTURL_MITIGATION", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_SPELLCHECKING", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_STATUS_BAR_THROTTLING", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_TABBED_BROWSING", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_VALIDATE_NAVIGATE_URL", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_WEBOC_DOCUMENT_ZOOM", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_WEBOC_POPUPMANAGEMENT", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_WEBOC_MOVESIZECHILD", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_ADDON_MANAGEMENT", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_WEBSOCKET", fileName, 1);
            SetBrowserFeatureControlKey("FEATURE_WINDOW_RESTRICTIONS ", fileName, 0);
            SetBrowserFeatureControlKey("FEATURE_XMLHTTP", fileName, 1);
Где fileName - название запускаемого .exe, а 0 или 1 значение ключа реестра
Рендерить страницу стал правильно:

Но все равно считает, что у меня Windows 8:

Страница 4 из 4


Показать сообщения:    

Текущее время: 18-Июл 04:16

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы