मुझे .NET WebBrowser नियंत्रण को किसी भी दिखाने से रोकने की आवश्यकता है "क्या आप इस फ़ाइल को खोलना या सहेजना चाहते हैं?" और "के रूप में सहेजें" संवाद। इसके बजाय, मैं उपयोगकर्ताओं को बताते हुए एक संदेश बॉक्स प्रदर्शित करना चाहता हूं कि सुरक्षा कारणों से डाउनलोड फ़ाइल अक्षम हैं।.NET WebBrowser नियंत्रण में डाउनलोड को अवरुद्ध कैसे करें?
मैंने FileDownload
WebBrowser
की घटना के साथ शुरुआत की, लेकिन यह रद्दीकरण की अनुमति नहीं देता है। फिर, मैंने इंटरफेस DWebBrowserEvents2
का उपयोग कर मूल COM कॉल के आधार पर अपनी खुद की घटना को लागू करने के लिए CodeProject: Extended .NET 2.0 WebBrowser Control से दृष्टिकोण का उपयोग किया। जब मैंने an MS knowledge base entry about a bug with the FileDownload signature के अनुसार कोड तय किया, तो ईवेंट हैंडलर को कॉल किया गया था और मैं डाउनलोड को रद्द करने में सक्षम था।
यह सभी डाउनलोड के साथ काम नहीं करता है, हालांकि: सहित .exe
घटना को बढ़ाने और रद्द किया जा सकता से पहले संवाद प्रकट होता है एक URL की ओर इशारा URL डाउनलोड - (जैसे .do
), लेकिन दूसरों के लिए, ईवेंट हैंडलर तक नहीं बुलाया जाता है उपयोगकर्ता संवाद में Open
, Save
या Cancel
पर क्लिक करता है।
सम्भावित समाधान intercept WH_CALLWNDPROCRET
messages and 'answer' the dialog before it is shown to the user हो सकता है, लेकिन यह बहुत प्रयास की तरह लगता है और मैं भी एक क्लीनर समाधान पसंद करेंगे ...
किसी को भी पता है कि कैसे मज़बूती से सभी डाउनलोड को अवरुद्ध करने के लिए?
मुझे यह स्ट्रेट प्राप्त करने दें ... आप अपने उपयोगकर्ताओं के लिए इंटरनेट एक्सेस की अनुमति देना चाहते हैं (जो कंप्यूटर में फ़ाइलों को डाउनलोड करने से ज्यादा कुछ नहीं है) और आप सभी डाउनलोड को अवरुद्ध करना चाहते हैं? – Sergio
@ सर्जीओ: मुझे लगता है कि, जेन्स सभी फाइलों को ब्लॉक करना चाहते हैं, जिन्हें सीधे वेबब्रोसर में प्रदर्शित नहीं किया जा सकता है। – TcKs
टीसीके सही है, मैं प्रदर्शित नहीं किया जा सकता है कि सब कुछ ब्लॉक करना चाहता हूँ। बिंदु डाउनलोड को रोकने के लिए नहीं है, लेकिन किसी भी "फ़ाइल को इस रूप में सहेजें" संवाद को रोकने से रोकने के लिए ताकि उपयोगकर्ता को हार्ड डिस्क तक पहुंचने का कोई तरीका न हो। मेरा एप्लिकेशन विंडोज शैल के रूप में स्थापित है (कोई एक्सप्लोरर नहीं, कोई स्टार्ट मेनू नहीं)। –