Метод Interop.SHDocVw Navigate2 () отображает окно нежелательной загрузки - PullRequest
2 голосов
/ 23 июня 2011

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

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

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

1 Ответ

2 голосов
/ 23 июня 2011

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

Метод 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, и он покончил с коробкой загрузки. Надеюсь, это кому-то поможет

...