2016-06-26 14 views
-1

Ich schreibe ein Programm für ausblenden Zielprogramm, eigentlich funktioniert es aber, wenn ich das Programm als Administrator ausführen, funktioniert ShowWindow Funktion nicht.Wie kann ich dieses Problem lösen?Funktioniert nicht ShowWindow Als Administrator ausführen

private void button1_Click(object sender, EventArgs e) 
    {  
      Process mbot = null; 
      pHandle = IntPtr.Zero; 

      foreach (var process in Process.GetProcesses()) 
      { 
       if (process.ProcessName == "mBot_vSRO110") 
       { 
        mbot = process; 
       } 

      }    
      pHandle = mbot.MainWindowHandle; 
      Thread.Sleep(100);  
     }    

     ShowWindow(pHandle, 0); 
    } 

Antwort

0

Dies ist aufgrund User Interface Privilege Isolation. Da sich das Fenster in einem Prozess mit höherer Berechtigung befindet, wird Ihr Aufruf ignoriert.

Um einen erhöhten Prozess zu steuern, führen Sie Ihren eigenen erhöhten Prozess aus.

+0

Danke für alles :), fand ich so http://stackoverflow.com/questions/196949/how-to-run-not-elevated-in-vista-net Dies ist nützlich? – cezaalp

+0

haben Sie eine Kontrolle über das Zielprogramm? Einige Programme erfordern Höhenruder zum Arbeiten. –

Verwandte Themen