2014-07-17 9 views
1

Есть ли способ активировать или принести окно внешнего приложения на передний план? Ближайший я мог бы получить былЕсть ли способ активировать окно с белым?

var application = Application.Attach("SearchApp"); 
var searchWindow = application.GetWindows()[0]; 

searchWindow.Focus(DisplayState.Maximized); 

, но все, что делает максимально его в фоновом режиме, если это не в данный момент.

+0

Вы google? Один из первых результатов для «переноса окна wpf на передний план»: [Как открыть окно WPF на передней панели?] (Http://stackoverflow.com/questions/3399495/how-do-bring-a-wpf-window- to-front) Вот [еще один дубликат] (http://stackoverflow.com/questions/7211523/wpf-bring-window-to-front) и [еще один] (http://stackoverflow.com/questions/257587/ принести-окно-к-фронт-в-wpf) – tnw

+0

Я сделал. Проблема в том, что мне не нужно выводить окно на передний план, мне нужно сделать это во внешнем приложении. – Amorphous

+1

* Oh *. Это совсем другой вопрос. Я отредактировал ваш, чтобы это отразить. Не забудьте включить * всю * соответствующую информацию, подобную этой в своем сообщении. – tnw

ответ

2

Got it working.

[DllImport("user32.dll", SetLastError = true)] 
    internal static extern bool SetForegroundWindow(IntPtr windowHandle); 


    public bool SearchTest(string file) { 
     try 
     { 
      // White stuff, not relevant to problem 
      //var application = Application.Attach("SearchApp"); 
      //var searchWindow = application.GetWindows()[0]; 

      Process p = Process.GetProcessesByName("SearchApp")[0]; 
      SetForegroundWindow(p.MainWindowHandle); 
+1

Вот и все! Поздравления :) – Sonhja