Русское сообщество AutoIt

  • Май 20, 2012, 11:57:32 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Открыт новый раздел Полезняшки - Полезные решения, функции и скрипты в помощь кодеру

:Typing:

Реклама

Автор Тема: Возможна ли работа с GUI программами без логина пользователя  (Прочитано 2170 раз)

0 Пользователей и 2 Гостей смотрят эту тему.

abeltsov [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 1
  • Версия AutoIt: 3.3.0
    • Награды
Мне интересно можно ли сделать поставленную мне задачу проще, а иначе -
Можно ли с помощью autoit запустить графическое приложение, щелкать кнопки, вводить данные и все это без входа в систему(иначе без логина)?
Именно без входа в систему - т.к. текущее его требует.
Я реализую такой функционал на C#-winapi и это работает.

BR
« Последнее редактирование: Сентябрь 29, 2009, 03:25:50 от CreatoR »



  Записан

Belfigor [?]

  • Локальный модератор
  • *
  • *****
  • Репутация: 689
  • Offline Offline
  • Сообщений: 2195
  • Версия AutoIt: 3.3.6.1
    • Награды
Re: Может ли autoit...
« Ответ #1, Отправлен: Сентябрь 28, 2009, 15:13:50 »
Присоединяюсь к вопросы. Тоже интересно узнать.




  Записан
Любые темы внутри раздела "Разработка ботов" не названные в соответствии с правилами раздела, будут закрываться.
Любой ответ, любого пользователя в теме с предупреждением, направленный на решение вопроса, произведенный до того как предупреждение было исправлено, приведет к закрытию темы и удалению всего что было после предупреждения.

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1399
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5058
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: Может ли autoit...
« Ответ #2, Отправлен: Сентябрь 28, 2009, 17:22:21 »
Если на C# с WinAPI работает, то велеки шансы что и на AutoIt'е сработает.




  Записан
Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.



«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

AWhite [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 5
  • Версия AutoIt: AutoIt 3.3.1.4
    • Награды
Привет все и АДМИН.
1 -  еле нашёл тему. название вполне информационное!
2 - Уважаемый АЛЛ. Вопрос такой же как и сабж. попробую уточнить
есть ПО *.exe , параметров запуска не имеет. можно ли его установить без входа пользователя в Windows? я имею ввиду средствами Autoit, или любыми другими, кто посоветует что либо?
Спасибо!




  Записан

Medic84 [?]

  • Администратор
  • *
  • *****
  • Репутация: 161
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 942
  • Версия AutoIt: 3.3.6.1
    • WWW
    • Награды
AWhite  [?]
Цитата
название вполне информационное!
Письмо администрации пришло и название было изменено. Это было аж
Цитата
Отправлен: Сентябрь 28, 2009, 22:57:54




  Записан
   
На форуме принято отмечать полезные сообщения кнопкой "Полезное сообщение"
Никогда не даю подробных примеров сразу, я сначала навожу на мысль - как можно написать. Учитесь мыслить сами, а не за других людей.
Моя лаборатория - программы, статьи и ответы на вопросы.

AWhite [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 5
  • Версия AutoIt: AutoIt 3.3.1.4
    • Награды
Мой вопрос актуален. Добавлю кое что:

Естьт скрипт

Код: AutoIt [Выделить]


Run ( 'C:\Soft\PO.exe')
        ; открываем файл для записи логов
    $file = FileOpen("C:\script\PO\log.txt", 1)
    FileWriteLine($file, "Запустились")
    If $file = -1 Then
        MsgBox(0, "Error", "Unable to open file C:\script\PO\log.txt.")
        Exit
    EndIf

FileWriteLine($file, "Запустились")

; Ожидаем открытия окна Setup - POmanager
$rez = WinWait ( 'Setup - POmanager' )
SendKeepActive ( 'Setup - POmanager' )
    If $rez = 0 Then
            FileWriteLine($file, "==ОШИБКА== Не могу дождаться окна Setup - POmanager. [Welcome to the POmanager]")
            MsgBox(0, "Error", "Не могу дождаться окна Setup - POmanager. [Welcome to the POmanager]")
            Exit
                Else
                FileWriteLine($file, "Дождались окна Setup - POmanager [Welcome to the POmanager]")
    EndIf


; Определяем ID  Setup - POmanager [Welcome to .....]  окна для дальнейшего управления этим окном через ID
$handle = WinGetHandle("Setup - POmanager", "Welcome to the POmanager")
SendKeepActive($handle)
If  $handle = "" Then
    FileWriteLine($file, "==ОШИБКА==Не могу получить handler окна [Welcome to .....]")
    MsgBox(4096, "Error", "Не могу получить handler окна [Welcome to .....]")
    Exit
        Else
            FileWriteLine($file, "Получили HAndler окна [Welcome to the POmanager]")

                If ControlClick($handle, '', '[CLASS:TNewButton; INSTANCE:1]') = 1 Then
            ;If ControlSend($handle, "","", "{ENTER}") = 1 Then
                        FileWriteLine($file, "Нажали Далее в окне [Welcome to the POmanager]")
                    Else
                        FileWriteLine($file, "==ОШИБКА== НЕ Нажали Далее в окне [Welcome to the POmanager]")
                        Exit
            EndIf


EndIf


;----------------



; Ожидаем открытия окна Setup - POmanager - License Agreement
FileWriteLine($file, "[License Agreement]")
$rez = WinWait ( 'Setup - POmanager' )
    If $rez = 0 Then
            MsgBox(0, "Error", "Не могу дождаться окна Setup - POmanager. [Welcome to the POmanager]")
            Exit
                Else
                FileWriteLine($file, "Дождались окна Setup - POmanager [License Agreement]")
    EndIf

; Определяем ID  Setup - POmanager [License Agreement]  окна для дальнейшего управления этим окном через ID
$handle = WinGetHandle("Setup - POmanager", "License Agreement")
If  $handle = "" Then
    MsgBox(4096, "Error", "Не могу получить handler окна [License Agreement]")
    FileWriteLine($file, "==ОШИБКА==Не могу получить handler окна [License Agreement]")
    Exit
        Else
            FileWriteLine($file, "Получили HAndler окна [License Agreement]")
sleep(1000)
            If ControlClick($handle, '', '[CLASS:TNewRadioButton; INSTANCE:1]') = 1 AND ControlClick($handle, '', '[CLASS:TNewButton; INSTANCE:2]') = 1 Then
                        FileWriteLine($file, "Согласились с лицензией и нажали ДАЛЕЕ в [License Agreement]")

                    Else
                        MsgBox(4096, "Error", "==ОШИБКА== НЕ Нажали RadioButton (Сгласен) или ДАЛЕЕ в окне [License Agreement]")
                        FileWriteLine($file, "==ОШИБКА== НЕ Нажали RadioButton (Сгласен) или ДАЛЕЕ в окне [License Agreement]")
                        Exit
            EndIf


EndIf

Exit
 

Компилирую его в EXE, порверяю - работает, добавляю его в "шедуллер"
Задание висит долго и без результатов.
как только я его прерываю в лог пишется
....
Запустились
Дождались окна Setup - POmanager [Welcome to the POmanager]
==ОШИБКА==Не могу получить handler окна [Welcome to .....]
.....

Видать
Код: AutoIt [Выделить]
$handle = WinGetHandle("Setup - POmanager", "Welcome to the POmanager")
 
не отрабатывает

Есть у кого идеи????
Очень нужно, помогите хоть идеей куда копать




  Записан

ynbIpb [?]

  • Продвинутый
  • ***
  • Репутация: 84
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 338
  • Версия AutoIt: 3.3.8.1
    • Награды
тут вероятно нужно запускать скрипт как службу и стиль поверх всех окон.




  Записан

AWhite [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 5
  • Версия AutoIt: AutoIt 3.3.1.4
    • Награды
Продолжая темы новый вопрос.
- Без работы ГУЯ я отловил Handle моего окна по Title. Кая я могу получить остальную инфу об окне? К примеру ту, что даёт Au3Info.exe
- ПОчему при запуске exe в фоновом режиме (без логина клиента) функция WinList показывает, что у меня 1 окно setup - "POmanager" а второе "sestup"





  Записан

timsky [?]

  • Новичок
  • *
  • Репутация: 17
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 87
  • Версия AutoIt: 3.3.8.1
    • WWW
    • Награды
AWhite
А в чем проблема залогинить пользователя? Я тоже как-то бился с этим явлением, в итоге проще и быстрее выставить на серваке авто-логин юзера с последующим локом. И коннектица к серваку через радмин или аналоги, а не remote desktop.




  Записан
http://timsky.ru - Персональный блог об AutoIt, Miranda, железе, полезном софте и прочей лабуде...

AWhite [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 5
  • Версия AutoIt: AutoIt 3.3.1.4
    • Награды
ynbIpb - А можно по точней про сервис и по верх всех окон.
я видел - http://serverfault.com/questions/47431/windows-running-an-autoit-script-to-launch-a-gui-app-on-a-server-when-no-one
Вы сами делали так?


Если мне придётся логинить пользователя то смысл полной автоматизации пропадает.
задача установить софт без логина(или по шедуллеру)

Этоя явление с окнами? Каков был результат кроме того, что выбор логина.
Я заметил что разные GUI exe по разному себя ведут.

Уточно про "без логина клиента" я имею ввиду то, что  пользователь не будет вводить имя и пароль в системе, а к примеру повешу скрипт в шедуллер(назначенные задания) и он будет выполняться под учётной записью, но без отображения GUI

« Последнее редактирование: Ноябрь 20, 2009, 13:02:44 от AWhite »



  Записан

AWhite [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 5
  • Версия AutoIt: AutoIt 3.3.1.4
    • Награды
Сам отвечу, вроде решил проблему.
убедился пока на 90% что задача решаема.
Что косается вопроса про окна с одинаковым тайтлом,
по старту скрипта из шедулера, появляется 2 окна с одинаковыми тайтлами.
Winwait ("title","text") не отлавливает окно с text.для этого нужно сделать так
Opt("WinDetectHiddenText", 0)
WinWait ( "title" [, "text" [, timeout]] )
мне вроде помогло




  Записан

w3d [?]

  • Новичок
  • *
  • Репутация: 3
  • Offline Offline
  • Сообщений: 82
  • Версия AutoIt: v3.3.0.0
    • Награды
- Без работы ГУЯ я отловил Handle моего окна по Title. Кая я могу получить остальную инфу об окне? К примеру ту, что даёт Au3Info.exe
На каком-то форуме по AutoIT я уже поднимал этот вопрос и мне даже ответили :)

нашел http://forum.oszone.net/post-844021.html#post844021
« Последнее редактирование: Ноябрь 20, 2009, 20:36:29 от w3d »



  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Возможна ли работа PMX.dll в autoit
AutoIt для новичков
lirikmel 3 881 Последний ответ Ноябрь 28, 2010, 13:55:41
от lirikmel
Возможна ли работа с классами .NET Framework ?
AutoIt для новичков
Luke 10 1060 Последний ответ Декабрь 10, 2010, 00:14:26
от Kaster
[Ошибки] Работа Стандартных функций пользователя AutoIt3
AutoIt для новичков
Renz 3 1112 Последний ответ Январь 06, 2011, 00:59:19
от CreatoR
[Сеть, интернет] Запуск браузера, ввод логина и пароля. Работа на странице.
Стол заказов
voler 11 2047 Последний ответ Март 28, 2011, 09:54:47
от Meridi
Создать меню с кнопками для подстановки имеющихся логина/пароля в IE
Стол заказов
Михаил 7 1024 Последний ответ Март 03, 2011, 11:52:46
от Михаил
[Сеть, интернет] Поиск пользователя в AD по полю Discription и определить контейнер пользователя.
AutoIt для новичков
AtoS 0 348 Последний ответ Июль 13, 2011, 14:50:04
от AtoS
С некоторомы программами можно одновременно устанавливать и другие. Как узнать?
Общение
Centrinar 1 322 Последний ответ Август 08, 2011, 22:59:43
от Kaster
Создать пользователя из имени файла
Стол заказов
pro100_bear@mail.ru 2 574 Последний ответ Ноябрь 10, 2011, 15:36:36
от ---Zak---
Как убрать окно ввода логина и пароля при выскакивании окна
AutoIt для новичков
Sergejs11 4 305 Последний ответ Декабрь 15, 2011, 19:36:56
от Sergejs11
[Автоматизация] Комплексное преобразование файлов, двумя программами последовательно
AutoIt для новичков
Tosyk 12 748 Последний ответ Январь 29, 2012, 10:17:30
от Tosyk


Реклама

* Последние сообщения на форуме
post Проблема с циклами While
[AutoIt для новичков] Andeangl Сегодня в 11:03:15
post Уроки программирования и автоматизации посредством AutoIt для чайников
[AutoIt для новичков] aak Сегодня в 09:41:45
post Re: Как спарсить ссылку внутри тега "td" определенного класса
[Регулярные выражения и прочее] eropov Сегодня в 05:27:00
post Re: Ограничение доступа(блокировка) к компьютеру если не вставлен носитель с ключом
[AutoIt для новичков] Pat4005 Сегодня в 01:02:55
post Re: Развитие русской справки
[Инструменты и помощь по AutoIt] CreatoR Сегодня в 00:02:03
post Re: Развитие русской справки
[Инструменты и помощь по AutoIt] CreatoR Май 19, 2012, 23:55:37
post Узнать значение возвращаемое функцией javascript
[Автоматизация IE и Web-интерфейса] Viktor1703 Май 19, 2012, 23:25:05
post Re: Проверка запущенного процесса на удаленной машине
[AutoIt для новичков] sngr Май 19, 2012, 23:06:52
post Re: Проверка запущенного процесса на удаленной машине
[AutoIt для новичков] Dm666 Май 19, 2012, 22:38:13
post Re: Иконка AutoIt3 для разных Dock-ов
[Графика и творчество в рамках AutoIt] Ganibal95 Май 19, 2012, 22:21:35

* Пользователи онлайн
  • Dot Гостей: 83
  • Dot Скрыт: 0
  • Dot Пользователей: 20
  • Dot Пользователи Online: