2015-10-05 4 views
1

Я хочу открыть окно браузера вместо новой вкладки в текущем/умолчанию браузере.Как открыть окно браузера в приложении lightwitch?

Я использую этот код в клиенте рабочего стола на экране, нажав кнопку мыши.

  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 desktopclient ... дайте мне знать для будущих подробностей, если вы хотите –

ответ

0

Я попытался это с IE, и это открывает новое окно каждый раз:

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

Другие браузеры могут работать, но некоторые могут потребовать аргументы командной строки каждый раз открывать новое окно. См. Open a browser window as a pop under in C# для примера Chrome.

Чтобы определить браузер по умолчанию, вы можете прочитать его из соответствующего места в реестре, как показано в Access registry from Silverlight OOB.