[c#] मेरे आवेदन से एक वेब पेज कैसे खोलें?



Answers

मैं डिफ़ॉल्ट ब्राउज़र लॉन्च करने के लिए इस लाइन का उपयोग कर रहा हूं:

System.Diagnostics.Process.Start("http://www.google.com"); 
Question

मैं अपना डब्ल्यूपीएफ एप्लीकेशन डिफ़ॉल्ट ब्राउज़र खोलना चाहता हूं और एक निश्चित वेब पेज पर जाना चाहता हूं। मैं उसको कैसे करू?




मेरे पास इसका समाधान है क्योंकि आज मुझे एक ही समस्या है।

मान लीजिए कि आप व्यवस्थापक priviliges के साथ चल रहे ऐप से http://google.com खोलना चाहते हैं:

ProcessStartInfo startInfo = new ProcessStartInfo("iexplore.exe", "http://www.google.com/");
Process.Start(startInfo); 






मेरा पूरा कोड कैसे खोलना है यहां है।

2 विकल्प हैं:

  1. डिफ़ॉल्ट ब्राउज़र का उपयोग करके खोलें (व्यवहार ब्राउज़र विंडो के अंदर खोला गया है)

  2. डिफ़ॉल्ट कमांड विकल्पों के माध्यम से खोलें (व्यवहार जैसा है कि आप "RUN.EXE" कमांड का उपयोग करते हैं)

  3. 'एक्सप्लोरर' के माध्यम से खोलें (व्यवहार ऐसा है जैसे आपने अपनी फ़ोल्डर विंडो यूआरएल के अंदर यूआरएल लिखा था)

[वैकल्पिक सुझाव] 4. आवश्यक यूआरएल खोलने के लिए iexplore प्रक्रिया स्थान का उपयोग करें

कोड:

internal static bool TryOpenUrl(string p_url)
    {
        // try use default browser [registry: HKEY_CURRENT_USER\Software\Classes\http\shell\open\command]
        try
        {
            string keyValue = Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Software\Classes\http\shell\open\command", "", null) as string;
            if (string.IsNullOrEmpty(keyValue) == false)
            {
                string browserPath = keyValue.Replace("%1", p_url);
                System.Diagnostics.Process.Start(browserPath);
                return true;
            }
        }
        catch { }

        // try open browser as default command
        try
        {
            System.Diagnostics.Process.Start(p_url); //browserPath, argUrl);
            return true;
        }
        catch { }

        // try open through 'explorer.exe'
        try
        {
            string browserPath = GetWindowsPath("explorer.exe");
            string argUrl = "\"" + p_url + "\"";

            System.Diagnostics.Process.Start(browserPath, argUrl);
            return true;
        }
        catch { }

        // return false, all failed
        return false;
    }

और सहायक कार्य:

internal static string GetWindowsPath(string p_fileName)
    {
        string path = null;
        string sysdir;

        for (int i = 0; i < 3; i++)
        {
            try
            {
                if (i == 0)
                {
                    path = Environment.GetEnvironmentVariable("SystemRoot");
                }
                else if (i == 1)
                {
                    path = Environment.GetEnvironmentVariable("windir");
                }
                else if (i == 2)
                {
                    sysdir = Environment.GetFolderPath(Environment.SpecialFolder.System);
                    path = System.IO.Directory.GetParent(sysdir).FullName;
                }

                if (path != null)
                {
                    path = System.IO.Path.Combine(path, p_fileName);
                    if (System.IO.File.Exists(path) == true)
                    {
                        return path;
                    }
                }
            }
            catch { }
        }

        // not found
        return null;
    }

उम्मीद है कि मैंने मदद की।




Related



Tags

c# c#   .net .net   wpf