Метод Interop.SHDocVw Navigate2() отображает окно нежелательной загрузки

Я пишу несколько регрессионных тестов в WatiN, и мне нужно было сделать пару веб-запросов POST. Запросы работают нормально, но я получаю раздражающее диалоговое окно с вопросом, хочу ли я сохранить файл или найти программу в Интернете, чтобы открыть его. Строка кода, которая вызывает это:

browser.Navigate2(ref uri, ref nflags, ref ntargetFrame, 
                  ref dataBytes, ref headers);

Кто-нибудь знаком с методом Navigate2()? Любая идея о том, как избавиться от этого окна загрузки?


person Alan    schedule 23.06.2011    source источник


Ответы (1)


Вот мой ответ:

Метод Navigate2() выглядит так:

HRESULT Navigate2(
    VARIANT *URL,
    VARIANT *Flags,
    VARIANT *TargetFrameName,
    VARIANT *PostData,
    VARIANT *Headers
);

флаги могут быть определены как enum BrowserNavConstants следующим образом:

typedef enum BrowserNavConstants {
    navOpenInNewWindow = 0x1,
    navNoHistory = 0x2,
    navNoReadFromCache = 0x4,
    navNoWriteToCache = 0x8,
    navAllowAutosearch = 0x10,
    navBrowserBar = 0x20,
    navHyperlink = 0x40,
    navEnforceRestricted = 0x80,
    navNewWindowsManaged = 0x0100,
    navUntrustedForDownload = 0x0200,
    navTrustedForActiveX = 0x0400,
    navOpenInNewTab = 0x0800,
    navOpenInBackgroundTab = 0x1000,
    navKeepWordWheelText = 0x2000,
    navVirtualTab = 0x4000,
    navBlockRedirectsXDomain = 0x8000,
    navOpenNewForegroundTab = 0x10000
} BrowserNavConstants;

Я использовал navUnstrustedForDownload, и он избавился от окна загрузки. Надеюсь, это поможет кому-то где-то

person Alan    schedule 23.06.2011
comment
Это решение просто маскирует проблему и не решает ее. Вклад по-прежнему приветствуется - person Alan; 29.06.2011