Перейти к содержимому

Фотография

Автоматизация удалении программы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 AnastaciaSibir

AnastaciaSibir

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Акулова Анастасия Алексеевна
  • Город:Новосибирск

Отправлено 17 августа 2011 - 03:54

Доброго времени суток)
У меня возникла необходимость записать скрипт удаления программы.
Мои действия таковы: удаление прораммы осуществляю через Панель управления. Когда открываю окошко с вопросом приложения "А вы действительно хотите удалить меня?", то надо бы нажать кнопку "Yes" (или как альтернатива "[Left][Enter]"). Но такие действия не выполняются(т.е. нет таких кнопочек и окна этого вообще нет с точки зрения ТС). По идее клавиши должны юыть направлены на активное окно, но ТС не видит что окно удаления и есть активное.
Как мне можно нажать нужную кнопку??!
//Была неуспешная попытка найти это окно и кнопку через Sys.Find(PropArray, ValueArray);
где var PropArray = ConvertJScriptArray(new Array("WndClass", "WndCaption"));
var ValueArray = ConvertJScriptArray(new Array("*", "*&Yes*"));
или var PropArray = ConvertJScriptArray(new Array("WndClass", "WndCaption"));
var ValueArray = ConvertJScriptArray(new Array("*", "*install*"));
Помогите, пожалуйста, советом)
  • 0

#2 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 17 августа 2011 - 04:12

А в ObjectBrowser кнопка есть ?
  • 0

#3 AnastaciaSibir

AnastaciaSibir

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Акулова Анастасия Алексеевна
  • Город:Новосибирск

Отправлено 17 августа 2011 - 06:23

А в ObjectBrowser кнопка есть ?


Нет, ее там нету(
  • 0

#4 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 17 августа 2011 - 06:37

щас глянул у себя..у меня все окна распознаются при удалении прогрмм..
а вообще если даже такая ситуация и возникла, может можно с помощью Alt+Tab перейти на нужную форму,сделать ее активной?..а потом уже воспользоваться [Left][Enter]
  • 1

#5 AnastaciaSibir

AnastaciaSibir

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Акулова Анастасия Алексеевна
  • Город:Новосибирск

Отправлено 17 августа 2011 - 07:01

щас глянул у себя..у меня все окна распознаются при удалении прогрмм..
а вообще если даже такая ситуация и возникла, может можно с помощью Alt+Tab перейти на нужную форму,сделать ее активной?..а потом уже воспользоваться [Left][Enter]


Спасибо за совет, Денис.
Но к моему огорчению и такой метод не помогает(
//Уже не знаю что бы еще придумать...
  • 0

#6 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 18 августа 2011 - 10:11

У меня возникла необходимость записать скрипт удаления программы.
Мои действия таковы: удаление прораммы осуществляю через Панель управления.

А вам обязательно надо это делать путем GUI-автоматизации?
Если программа использует Windows Installer-совместимый инсталлятор, то её можно удалить программным образом, например, вот так:
//JScript
var strComputer = ".";
var strProductName = "My Program";

var oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!//" + strComputer + "/root/cimv2");

var colProducts = oWMI.ExecQuery("SELECT * FROM Win32_Product WHERE Name = '" + strProductName + "'");
//Log.Message("Найдено продуктов: " + colProducts.Count);

var enumProducts = new Enumerator(colProducts);
for ( ; !enumProducts.atEnd(); enumProducts.moveNext())
{
   var oProduct = enumProducts.item();
   oProduct.Uninstall();
}

  • 0

#7 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 18 августа 2011 - 10:18


А в ObjectBrowser кнопка есть ?


Нет, ее там нету(

А в MSAA пробовали добавить нужный класс ?
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных