2015-10-05 177 views
1

我想在当前/默认浏览器中打开浏览器窗口而不是新标签页。如何在lightswitch应用程序中打开浏览器窗口?

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

  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

+0

是否需要为所有浏览器工作的解决方案,还是您将自己限制为特定的解决方案? – BobbyJ

+0

我想打开默认浏览器。不是一个问题......但要确保你的解决方案将打开浏览器窗口而不是LS桌面客户端的新选项卡...如果你想要让我知道未来的细节 –

回答

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中所示。

相关问题