2014-09-05 11 views
5

Ich verwende testStack/White-Bibliothek, um eine Anwendung zu automatisieren. Im Moment funktioniert es gut, aber es gibt eine Ausnahme aus, wenn die Anwendung bereits ausgeführt wird. Gibt es eine Möglichkeit, eine Überprüfung vorzunehmen, z. B. wenn die Anwendung bereits läuft, dann rufe sie nicht auf. Ich meine, dann können wir diese Zeile des Codes überspringenWie arbeitet White an bereits laufenden Anwendungen?

Application application = Application.Launch(@"someapplication.exe"); 

Ich konnte keine gute Dokumentation von White finden. Jede Hilfe wird geschätzt.

Antwort

9

könnten Sie tun:

Application application; 
Process[] processes = Process.GetProcessesByName(@"someapplication"); 
if (processes.Length == 0) 
    application = Application.Launch(@"someapplication"); 
else 
    application = Application.Attach(@"someapplication"); 

glücklich

+0

Hatte den '.exe' Teil zu entfernen. –

+0

Dies ist der genaue Code/Logik, die ich gesucht habe. Vielen Dank! – Chris

+0

entfernt die .exe – Alas

2

Oder einfacher

Application application = Application.AttachOrLaunch(@"someapplication.exe"); 
1

Um wieder auf die vorherige Antwort Schweinchen, die Codierung der Name der Anwendung, die Sie wollen finden ...

1) Öffnen Sie den Task-Manager, 2) finden Sie den Prozess, den Sie wan t mit Weiß zu verwenden 3) Rechtsklick auf den gewünschten Prozess und wählen Sie Eigenschaften 4) Der Name zu verwenden ist in der Textbox. Hat normalerweise keine .exe.

Verwandte Themen