2014-09-05 13 views
5

Utilizzo la libreria testStack/White per automatizzare un'applicazione. Al momento funziona bene, ma genera un'eccezione se l'applicazione è già in esecuzione. C'è un modo per mettere un controllo per esempio se l'applicazione è già in esecuzione, quindi non invocarlo. Voglio dire, quindi possiamo saltare questa riga di codiceCome funzionano i bianchi su un'applicazione già in esecuzione?

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

Non ho trovato alcuna buona documentazione di Bianco. Qualsiasi aiuto sarà apprezzato.

risposta

9

si poteva fare:

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

felice di codifica

+0

Doveva rimuovere la parte '.exe'. –

+0

Questo è il codice/logica esatta che stavo cercando. Grazie! – Chris

+0

rimosso l'exe – Alas

2

o più facile

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

Per piggy back sulla risposta precedente, per trovare il nome dell'applicazione che si desidera ...

1) Aprire il task manager, 2) trovare il processo che si desidera t da utilizzare con il bianco 3) fare clic con il tasto destro del mouse sul processo desiderato e selezionare Proprietà 4) Il nome da utilizzare è nella casella di testo. Di solito non ha .exe.