【问题标题】:How to open browser window in lightswitch application?如何在灯开关应用程序中打开浏览器窗口?
【发布时间】:2015-10-05 17:27:19
【问题描述】:

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

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

            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();
                }
            });

此代码正在当前/打开的浏览器选项卡中打开我的页面。

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

您的回答将是可观的! :)

谢谢,

贾丁

【问题讨论】:

  • 该解决方案需要适用于所有浏览器,还是您将自己限制在特定的浏览器上?
  • 我想打开默认浏览器。不是问题...但请确保您的解决方案将打开浏览器窗口而不是来自 LS desktopclient 的新选项卡...如果您愿意,请告诉我未来的详细信息

标签: c# lightswitch-2013


【解决方案1】:

我用 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所示。

【讨论】:

    猜你喜欢
    • 2011-05-29
    • 2014-03-09
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多