2014-09-05 5 views
5

Я использую библиотеку testStack/White для автоматизации приложения. В настоящее время он работает отлично, но он выдает исключение, если приложение уже запущено. Есть ли способ поставить проверку, например, если приложение уже запущено, а затем не вызывать его. я имею в виду, тогда мы можем пропустить эту строку кодаКак белые работают над уже запущенным приложением?

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

Я не нашел хорошую документацию о белом. Любая помощь будет оценена по достоинству.

ответ

9

вы могли бы сделать:

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

счастливым кодирования

+0

Удаленный элемент '.exe'. –

+0

Это точный код/​​логика, которую я искал. Благодаря! – Chris

+0

удалил .exe – Alas

2

Или проще

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

Чтобы поросенок обратно на предыдущий ответ, чтобы найти имя приложения, которое вы хотите ...

1) Откройте диспетчер задач, 2) найдите процесс, в котором вы wan t для использования с белым 3) щелкните правой кнопкой мыши процесс, который вы хотите, и выберите свойства 4) Используемое имя находится в текстовом поле. Обычно не имеет .exe.

 Смежные вопросы

  • Нет связанных вопросов^_^