首页 新闻 会员 周边 捐助

C#打开网址

0
悬赏园豆:20 [已解决问题] 解决于 2020-11-18 16:44

我是用System.Diagnostics.Process.Start(url);打开网址,在本地启动的时候能打开,但是发布到服务器上就打不开了,有大牛知道为啥吗??

COLOz的主页 COLOz | 初学一级 | 园豆:166
提问于:2020-11-05 15:19
< >
分享
最佳答案
0

如果服务器上没有浏览器话,需要安一个浏览器。
如果服务器上有浏览器,那可能是没有被设置为默认浏览器。
可以用下面的方法去调用:
1,调用ie
Process.Start("iexplore.exe", url);
2,调用指定路径下的浏览器
Process.Start(@"C:\msedge.exe", url);

收获园豆:20
leslie_xin | 菜鸟二级 |园豆:404 | 2020-11-05 16:48

用这个也不行,感谢建议

COLOz | 园豆:166 (初学一级) | 2020-11-18 16:43
其他回答(4)
0

權限不足?

RosonJ | 园豆:4910 (老鸟四级) | 2020-11-05 15:32
0

服务器上是否安装有浏览器?没有错误反馈吗?

会长 | 园豆:12463 (专家六级) | 2020-11-05 16:08
0

服务器不能访问外网?

大志若愚 | 园豆:2138 (老鸟四级) | 2020-11-05 16:36
0

试下下面的代码,调用OpenUrl方法

        public static void OpenUrl(string url)
        {
            string browser = GetSystemDefaultBrowser();

            if(!string.IsNullOrEmpty(browser))
            {
                Process.Start(browser, url);
            }
            else
            {
                Process.Start(url);
            }
        }

        public static string GetSystemDefaultBrowser()
        {
            string name = string.Empty;
            RegistryKey regKey = null;

            try
            {
                var regDefault = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.htm\\UserChoice", false);
                var stringDefault = regDefault.GetValue("ProgId");

                regKey = Registry.ClassesRoot.OpenSubKey(stringDefault + "\\shell\\open\\command", false);
                name = regKey.GetValue(null).ToString().ToLower().Replace("" + (char)34, "");

                if (!name.EndsWith("exe"))
                {
                    name = name.Substring(0, name.LastIndexOf(".exe") + 4);
                }
            }
            catch (Exception ex)
            {                
            }
            finally
            {
                if (regKey != null)
                {
                    regKey.Close();
                }                 
            }          

            return name;
        }
E行者 | 园豆:1811 (小虾三级) | 2020-11-05 17:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册