2 Stimmen

Die Methode Interop.SHDocVw Navigate2() zeigt eine unerwünschte Download-Box an

Ich schreibe gerade einige Regressionstests in WatiN und musste ein paar POST-Webanfragen stellen. Die Anfragen funktionieren einwandfrei, aber ich erhalte ein lästiges Dialogfeld, in dem ich gefragt werde, ob ich die Datei speichern oder ein Online-Programm zum Öffnen der Datei finden möchte. Die Codezeile, die dies verursacht, ist:

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

Ist jemand mit der Methode Navigate2() vertraut? Hat jemand eine Idee, wie man diese Download-Box loswerden kann?

2voto

Alan Punkte 281

Hier ist meine Antwort:

Die Methode Navigate2() sieht wie folgt aus:

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

können die Flags als enum BrowserNavConstants wie folgt definiert werden:

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;

Ich habe navUnstrustedForDownload verwendet, und das Download-Feld ist verschwunden. Hoffentlich hilft dies jemandem irgendwo

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X