/ / C # webbrowser затваряне запишете диалоговия прозорец - c #, диалогов прозорец, изтегляне

C # webbrowser затвори запазете файловия диалогов прозорец - c #, диалогов прозорец, изтегляне

Трябва да деактивирам диалоговия прозорец за изтегляне на файлове "save as" в 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. Помогнете ми моля.

Това е мястото, където намерих кода: Как да блокираме изтеглянията в .NET WebBrowser?

Отговори:

0 за отговор № 1

Единственото нещо, което липсва, е обвивката на pinvoke,който можете да запишете от документацията (или да използвате pinvoke.net за лесна справка с изрязани и прилепнали примери) или да използвате някоя от съществуващите библиотеки за обвиване (ако можете да намерите такъв, който е съвместим с вашите нужди от лицензиране).