2013-07-09 2 views
-1

Мне нужно отключить диалоговое окно загрузки файла «сохранить как» в веб-браузере.C# webbrowser закрыть диалоговое окно сохранения файла

Я нашел этот путь:

void ListenForDialogCreation() 
{ 
    // Listen for name change changes across all processes/threads on current desktop... 
    _WinEventHook = WinAPI.SetWinEventHook(WinAPI.EVENT_OBJECT_CREATE, procDelegate); 
} 
void StopListeningForDialogCreation() 
{ 
    WinAPI.UnhookWinEvent(_WinEventHook); 
} 

void WinEventProc(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime) 
{ 
    const uint OBJID_WINDOW = 0; 
    const uint CHILDID_SELF = 0; 

    // filter out non-HWND, and things not children of the current application 
    if (idObject != OBJID_WINDOW || idChild != CHILDID_SELF) 
     return; 

    //Get the window class name 
    StringBuilder ClassName = new StringBuilder(100); 
    WinAPI.GetClassName(hwnd, ClassName, ClassName.Capacity); 

    // Send close message to any dialog 
    if (ClassName.ToString() == "#32770") 
    { 
     WinAPI.SendMessage(hwnd, WinAPI.WM.CLOSE, IntPtr.Zero, IntPtr.Zero); 
     if (OnDialogCancelled != null) 
      OnDialogCancelled(); 
    } 
    if (ClassName.ToString() == "#32768") 
    { 
     WinAPI.SendMessage(hwnd, WinAPI.WM.CLOSE, IntPtr.Zero, IntPtr.Zero); 
     if (OnDialogCancelled != null) 
      OnDialogCancelled(); 
    } 

} 

public delegate void OnDialogCancelledEvent(); 
public event OnDialogCancelledEvent OnDialogCancelled; 

Но здесь с помощью библиотеки DLL отсутствует. Помоги мне, пожалуйста.

Здесь я нашел код: How to block downloads in .NET WebBrowser control?

+0

Мне нужно отключить окно с файлом загрузки ... – user2471498

+0

Вам не нужен ActiveX для встроенного компонента браузера (System.Controls.Browser и т. Д.) В существующем приложении .net. – Malcolm

ответ

0

Единственное, что отсутствует в PInvoke обертки, которые вы можете написать самостоятельно из документации (или используйте Pinvoke.net для легкой ссылки с пороговым & pastable примеров) , или использовать одну из существующих библиотек-оболочек (если вы можете найти совместимую с вашими требованиями к лицензированию).

+0

Можно ли использовать hook для файла загрузки событий изменений? – user2471498

+0

Я не понимаю, о чем вы спрашиваете. Что ты пытаешься сделать? – Malcolm

Смежные вопросы