如何在lightswitch应用程序中打开浏览器窗口?

时间:2015-10-05 17:27:20

标签: c# lightswitch-2013

我想在当前/默认浏览器中打开浏览器窗口而不是新标签页。

我在桌面客户端屏幕命令按钮点击事件中使用此代码。

            Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(() =>
            { 
                if (AutomationFactory.IsAvailable)
                {
                    dynamic shell = AutomationFactory.CreateObject("Shell.Application");

                    shell.ShellExecute("http://localhost:55722/Home/Index");
                }
                else if (!System.Windows.Application.Current.IsRunningOutOfBrowser)
                {
                    HtmlPage.Window.Navigate(new Uri("http://localhost:55722/Home/Index"), "_blank");
                }
                else
                {
                    throw new InvalidOperationException();
                }
            });

此代码在当前/已打开的浏览器标签中打开我的页面。

请您在屏幕命令按钮点击事件中建议如何在桌面客户端中打开浏览器窗口。

你的回答会很明显! :)

谢谢,

Jatin

1 个答案:

答案 0 :(得分:0)

我用IE尝试了这个,每次都会打开一个新窗口:

dynamic shell = AutomationFactory.CreateObject("WScript.Shell");
shell.Run("iexplore.exe", 1, true);

其他浏览器可能有效,但有些可能需要命令行参数才能每次都打开一个新窗口。有关Chrome示例,请参阅Open a browser window as a pop under in C#

要检测默认浏览器,您可以从注册表中的相应位置进行读取,如Access registry from Silverlight OOB所示。