Показать полную графическую версию : [Архив - Часть 1.1] AutoIt скрипты
Страниц :
1
2
3
4
5
6
7
8
9
10
[
11]
12
13
14
15
16
17
DenchikK
02-11-2005, 19:21
Есть такая задача - с помощью AutoIT вставлять пароли в определённое
поле программы. Проблемма в том, что если скрипт .exe
раскомпилировать, то легко можно прочитать эти пароли. Понятно, что
нет ничего не взламываемого. Но от обычных пытливых юзеров хотелось бы
всё-таки пароли скрыть. Можно ли как то осуществить это с помощью
AutoIT?
Гуру от Autoit?
Необходимо установить в переменные SET (для старых DOS задач)
в Autoit 2.64 использовал такие строки:
IfEqual,AUsername,L4305,Run,WinSet LOG_ST=F32,,hide
решил опробовать в Autoit 3.01.02, но WinSet как бы ругается
может есть провереное и более надежное решение ?
Да и не хочется использовать внешние утилиты.
Sanja Alone
03-11-2005, 02:30
DenchikK
Но от обычных пытливых юзеров хотелось бы всё-таки пароли скрыть.Aut2Exe.exe /? (см. в сторону ключа /nodecompile).
AlikPan
Необходимо установить в переменные SETНепонятно что ты хочешь. Если установить системную переменную, то вот примеры:
1. Дописывание пути к 7-zip в переменную Path:
$cur = RegRead ( "HKEY_LOCAL_MACHINE\SYSTEM\Select", "Current" )
$smcur = 'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00' & $cur & '\Control\Session Manager\Environment'
$syscurpath = RegRead ( $smcur, "Path" )
$sysnewpath = $syscurpath & Chr (59) & '%ProgramFiles%\7-Zip'
RegWrite ( $smcur, "Path", "REG_EXPAND_SZ", $sysnewpath )
2. Создание новой системной переменной new строкового типа:
$newsysvarname = 'new'
$newsysvartype='REG_SZ'
$newsysvarvalue='value'
$cur = RegRead ( "HKEY_LOCAL_MACHINE\SYSTEM\Select", "Current" )
$smcur = 'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00' & $cur & '\Control\Session Manager\Environment'
RegWrite ( $smcur, $newsysvarname, $newsysvartype, $newsysvarvalue )Можешь на основе этих обособленных неоптимизированных примеров написать функции соотв-но для изменения и создания системных переменных.
IfEqual,AUsername,L4305,Run,WinSet LOG_ST=F32,,hideЕсли AUsername=L4305, тогда запустить некую утилиту WinSet с параметрами LOG_ST=F32 в скрытом окне (функции WinSet в автоите нет). К чему это?
DenchikK
03-11-2005, 04:32
Sanja Alone
Спасибо большое, всё получилось.
Sanja Alone
04-11-2005, 01:03
В скрипте для Winamp 5.xx (http://sanjaalone.h15.ru/files/autoit-winamp.zip) исправил косяк с записью параметров в winamp.ini. На момент записи файл был недоступен для этой самой записи :) - добавил проверку.
Тут на днях наводил порядок на винте и попался один из первых скриптов для создания Dial Up соединения
- так что может кому пригодится, единственное ограничение на сколько я помню, это то, что дрова для модема уже должны быть установлены и в системе должен быть только один модем, для двух и более прийдется подредактировать :)
;Запуск Мастера подключения к интернету
Run ("rundll32.exe netshell.dll,StartNCW")
WinWaitActive ( "Мастер новых подключений" )
ControlClick ( "Мастер новых подключений", "", "&Далее >" )
WinWaitActive ( "Мастер новых подключений" )
ControlClick ( "Мастер новых подключений", "", "&Подключить к Интернету" )
ControlClick ( "Мастер новых подключений", "", "&Далее >" )
WinWaitActive ( "Мастер новых подключений" )
ControlClick ( "Мастер новых подключений", "", "&Установить подключение вручную" )
ControlClick ( "Мастер новых подключений", "", "&Далее >" )
WinWaitActive ( "Мастер новых подключений" )
ControlClick ( "Мастер новых подключений", "", "Через &обычный модем" )
ControlClick ( "Мастер новых подключений", "", "&Далее >" )
WinWaitActive ( "Мастер новых подключений" )
Send ( "Demo Инфотекс" )
ControlClick ( "Мастер новых подключений", "", "&Далее >" )
WinWaitActive ( "Мастер новых подключений")
Send ( "313003" )
ControlClick ( "Мастер новых подключений", "", "&Далее >" )
WinWaitActive ( "Мастер новых подключений")
Send ( "demo" )
Send ( "{tab}" )
Send ( "demo" )
Send ( "{tab}" )
Send ( "demo" )
ControlClick ( "Мастер новых подключений", "", "Сделать &это подключение подключением к Интернету по умолчанию" )
ControlClick ( "Мастер новых подключений", "", "&Далее >" )
WinWaitActive ( "Мастер новых подключений")
ControlClick ( "Мастер новых подключений", "", "Готово" )
Exit
Sanja Alone
07-11-2005, 06:30
Добавил скрипт для Exact Audio Copy v0.95 beta 3 (http://sanjaalone.h15.ru/files/autoit-eac.zip)
Переписал/дополнил/изменил ВСЕ (http://sanjaalone.h15.ru/au3.php) скрипты на сайте:
- "шапки" теперь содержат инфу о версиях приложений на к-рых скрипты тестировались
- вписал те самые две строчки для предотвращения возможности множественного запуска скриптов
- все-таки решил перейти на вариант TrayIconDebug; TrayIconHide/BlockInput-вариант закомментировал
- везде, где нужно приписал макрос @ScriptDir для возможности запуска любого скрипта в неоткомпилированном вар-те без необходимости ложить его рядом с Autoit3.exe
- дописал тихие варианты установки там, где это было уместно
- еще что-то, сам не помню :)
Доброго времени суток, уважаемые!
Вот какой вопрос мучает:
Все вы знаете что в винде есть панель инструментов быстрого запуска, языковая панель и т.д.
Так же сть возможность создание своей панели.
Вот что я делаю:
1 кликаю провой кнопкой на панели задач (на ней кнопка ПУСК)
2 снимаю галочку "закрепить панель задач"
3 см 1 --> панель инструментов --> создать панель инструментов
4 В окне "создать панель инструментов" выбераю папку "МОЙ КОМПЬЮТЕР" и жму ОК
после чего на панели задачь появляеться панель инструментов "МОЙ КОМПЬЮТЕР"
5 хватаю мышкой область этой панели помеченной вертикальной линией из точек и перетаскиваю до упора вверх (мышка тянет прямоугольник)
где эта панель прилипает к верху экрана
6 теперь кликая на этой панели правой кнопкой настраиваю ее - снимаю галочку показать заголовок,
ставлю галочки - поверх остальных окон и автоматически уберать с экрана
7 - настраиваю размер панели (так же как и с окнами)
8 возвращаю галочку п.2
это я так подробно описал для того что бы можно было бы посмотреть результат.
А ВОТ ТЕПЕРЬ САМ ВОПРОС:
как можно сделать эту панель не прописывая в AUTOIT эти все пошаговые действия
утраивает 2 варианта
1 - это делаеться с помощью реестра или системных файлов или файлов настройки explorer
2 - может возможно это сделать с помощью GUI
еще интересует где находяться настройки "поверх остальных окон", "автоматически уберать с экрана", размер панели и т.д
Буду признателен за любые предложения и мысли.
Спасибо всем
в догонку Dial_up
как запустить соединение так что бы вышло стондартное окно И
ка запустить соединение бе этого окна.
bogomolv
08-11-2005, 07:49
Jangle
За показ Панели быстрого запуска и поведение Панели Пуск отвечают ключи
;QStart - настройки
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop]
"TaskbarWinXP"=
;STARTUP - настройки: автоскрывать, маленькие кнопки и т.д.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2]
"Settings"=
Но сочетание параметров, отраженных в этих ключах сложное. Их работоспособность зависит от других настроек Explorer'a. Кроме того, при установке WinXP некторые настроенные параметры будут сбрасываться и забиваться дефолтными настройками.
С помощью AutoIt Панель быстрого запуска не настроишь.
Фантастика, но если не перетащить хотя бы одну иконку "ручками", то после перезапуска иконки "перетасуются" в нужном и понятном только им порядке. Так происходит, даже если перетаскивать иконки с помощью AutoIt.
Самое простое - устанавливать приложения, иконки которых тебе нужны в Панели быстрого запуска, именно в строго заданной последовательности.
Help!
Как АвтоИтом послать программе установки нажатие клавиши "+" на NumPade. Конструкция Send ("{+}") не работает. Там вообщето меню раскрывающееся (такое же как при выборе компонентов Office). Оно внутри окна и по-отдельности пункты не активизируются, только все меню целиком. Остается два способа: по координатам мышом (но ИМХО не надежно, вдруг на другом компе координаты не совпадут...) и стрелками, но чтобы попасть в подменю нужен этот "+". Иначе слишком много ненужного барахла установится:(
Сорри, не могу удалить... Сработала стрелка вправо (как я эту клавишу упустил из виду, ума не приложу...) Еще раз сорри за пустой пост...
Sanja Alone
2. Создание новой системной переменной new строкового типа:
Код:
$newsysvarname = 'new'
$newsysvartype='REG_SZ'
$newsysvarvalue='value'
$cur = RegRead ( "HKEY_LOCAL_MACHINE\SYSTEM\Select", "Current" )
$smcur = 'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00' & $cur & '\Control\Session Manager\Environment'
RegWrite ( $smcur, $newsysvarname, $newsysvartype, $newsysvarvalue )
пожалуй это именно то, что нужно, СПАСИБО
IfEqual,AUsername,L4305,Run,WinSet LOG_ST=F32,,hide
Если AUsername=L4305, тогда запустить некую утилиту WinSet с параметрами LOG_ST=F32 в скрытом окне (функции WinSet в автоите нет). К чему это?
Всё правильно, нет такой функции. Но есть сторонняя утилита WinSet.exe (кажется от MIcrosoft), которую
я и вызываю. Устаналивает переменные SET в среде WINDOWS
2 bogomolv - огромное спасибо за информацию!!!
Буду думать :sorry:
Sanja Alone
09-11-2005, 01:17
1. Добавил скрипт для Teleport Pro 1.38 (http://sanjaalone.h15.ru/files/autoit-teleportpro.zip)
2. Исправил ошибку в конвертере crta (http://sanjaalone.h15.ru/files/crta.zip) - неправильно импортировались в реестр параметры типа REG_DWORD (значения интерпретировались как десятичные). Кавычки заменил на дописывание к значению префикса "0x" - теперь все правильно (значения считаются шестнадцатиричными).
Эта ошибка также касается следующих скриптов:
7-Zip (http://sanjaalone.h15.ru/files/autoit-7z.zip)
Agnitum Outpost (http://sanjaalone.h15.ru/files/autoit-outpost.zip)
DivX 5 (http://sanjaalone.h15.ru/files/autoit-divx5.zip)
DivX 6 (http://sanjaalone.h15.ru/files/autoit-divx6.zip)
DVDIdle (http://sanjaalone.h15.ru/files/autoit-dvdidle.zip)
GordianKnot (http://sanjaalone.h15.ru/files/autoit-gknot.zip)
ImageDupeless (http://sanjaalone.h15.ru/files/autoit-imagedupeless.zip)
ISOBuster (http://sanjaalone.h15.ru/files/autoit-isobuster.zip)
O&O Defrag (http://sanjaalone.h15.ru/files/autoit-oodefrag.zip)
Pragma (http://sanjaalone.h15.ru/files/autoit-pragma.zip)
Если кто-то скачал - извините. Можете скачать еще раз или исправить вручную. Я сам случайно заметил данную недоработку, т.к. большинство DWORD параметров были или 0 или 1, а эти цифры одинаковы во всех системах счисления.
DenchikK
09-11-2005, 17:59
fox_sly
Практически так же сделано и у меня, только бы я Вам посоветовал заменить Send на ControlSetText - так оно и лучше и надёжнее будет.
Как то вот так:
Run("rundll32.exe netshell.dll,StartNCW")
WinWaitActive ('Мастер новых подключений','Мастер новых подключений')
Send('{Enter}')
Sleep ('500')
WinWaitActive ('Мастер новых подключений','Подключить к Интернету для просмотра веб-узлов и чтения электронной почты.')
ControlClick ('Мастер новых подключений','Подключить к Интернету для просмотра веб-узлов и чтения электронной почты.','Button1')
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Каким образом подключиться к Интернету')
ControlClick ('Мастер новых подключений','Каким образом подключиться к Интернету','Button2')
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Данное подключение использует модем и обычную телефонную линию или телефонную линию ISDN.')
ControlClick ('Мастер новых подключений','Данное подключение использует модем и обычную телефонную линию или телефонную линию ISDN.','Button1')
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Им&я поставщика услуг')
ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Peterstar' )
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Номер &телефона:')
ControlSetText ( 'Мастер новых подключений', '', 'Edit1', '3203370,,,' )
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','&Имя пользователя:')
sleep (100)
ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Login')
sleep (100)
ControlSetText ( 'Мастер новых подключений', '', 'Edit2', 'Password')
Send('{tab}')
sleep (100)
ControlSetText ( 'Мастер новых подключений', '', 'Edit3', 'Password')
Sleep ('500')
ControlCommand ( 'Мастер новых подключений', '', 'Button13', 'Check', '' )
ControlCommand ( 'Мастер новых подключений', '', 'Button2', 'Check', '' )
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Завершение работы мастера новых подключений')
ControlCommand ( 'Мастер новых подключений', '', 'Button20', 'UnCheck', '' )
Send('{Enter}')
Exit
to DenchikK
С заменой согласен, просто как писал выше это была одна из первых попыток написать скрипт для соединения,
насколько я помню там была другая проблема, что не удалось в свое время уйти от Send('{Enter}'),
по крайней мере у меня строка типа
WinWaitActive ('Мастер новых подключений','Мастер новых подключений')
Send('{Enter}')
срабатывала, а вот замена через ControlClick
WinWaitActive ('Мастер новых подключений','Мастер новых подключений')
ControlClick ('Мастер новых подключений','Мастер новых подключений','Button3')
не работала, окно вообще закрывалось
Люди обэясните пожалуйста почему когда с ставлю Alcohol 120% при помощи какого сктрипта:
AutoItSetOption("TrayIconHide", 1)
If @OSType="WIN32_NT" Then BlockInput ( 1 )
AutoItSetOption ( "SendKeyDelay", 10 )
Global $file='setup.exe', $patchfile='patch_3105.exe', $alcoholdir=@ProgramFilesDir & '\Alcohol Soft\Alcohol 120\'
;запуск установки в тихом режиме
Run( $file & ' /qn REBOOT=Suppress' )
ProcessWait ( "rundll32.exe" )
ProcessClose ("rundll32.exe")
Sleep ( 50 )
If FileExists ( $alcoholdir & '\Alcohol.exe' )=1 Then
FileCopy ( @ScriptDir & '\' & $patchfile, $alcoholdir & $patchfile, 1 )
FileChangeDir ( $alcoholdir )
Run ( $alcoholdir & $patchfile, $alcoholdir )
WinWait ( 'Patch','Alcohol 120% v1.9.5.3105 Retail')
WinActivate ( 'Patch' )
ControlClick ( 'Patch', '', 'Button1' )
Sleep ( 4000 )
WinClose ( 'Patch', 'Alcohol 120% v1.9.5.3105 Retail' )
WinWaitClose ( 'Patch','Alcohol 120% v1.9.5.3105 Retail' )
EndIf
;н-рые настройки
RegWrite('HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%\Options\Display',"AutostartWhenWindowsStartup","REG_SZ",'0')
RegWrite('HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%\Options\Display',"ExecuteInFullScreen","REG_SZ",'0')
RegWrite('HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%\Options\Display',"ListPhysicalDevicesFirst","REG_SZ",'0')
RegWrite('HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%\Options\General',"AutoCheckCurrentVersionViaInternetAtStart","REG_SZ",'0')
RegWrite('HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%\Options\Virtual drive',"MountImageTo1stDeviceOnDblClickingImageFile","REG_SZ",'1')
RegWrite('HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%\Options\Recording',"OverBurnDisc","REG_SZ",'1')
У меня закрывается WPI, а установка Alcohol продолжается?
DenchikK
09-11-2005, 21:16
CTEPBA
Рискну предположить причину:
Алкоголь ставиться примерно так:
msiexec /qn /quiet /i setup.msi DRIVER0=a347bus DRIVER1=a347scsi INSTALLDIR="%programfiles%\Alcohol Soft\" /norestart
Потому то и не ставиться у тебя он.
Вот мой пример. Поправь его под себя:
prog[pn]=['Alcohol 120% 1.9.5.3105']
desc[pn]=['Эмулятор Лазерных Дисков <i>Установка Ключами</i>']
ordr[pn]=[4]
cmd1[pn]=['msiexec /qn /quiet /i %cdrom%\\Software\\Programs\\Alcohol\\setup.msi DRIVER0=a347bus DRIVER1=a347scsi INSTALLDIR="%programfiles%\\Alcohol Soft\\" /norestart']
cmd2[pn]=['%cdrom%\\Software\\Programs\\Alcohol\\crack.exe']
rdflt[pn]=['yes']
cat[pn]=['Programs']
picf[pn]=['alcohol.png']
picw[pn]=['270']
pich[pn]=['162']
pn++
содержание файла crack.exe (это sfx rar архив, распаковывающийся в каталог, куда уже поставился Алкоголь):
crack.exe
patch.exe
alcohol.reg
После распаковки запускается скрипт autoit такого содержания:
Run('patch.exe')
WinWaitActive ('Patch','Alcohol 120')
ControlClick ('Patch','Alcohol 120','Button1')
WinWait ('Patch','Alcohol 120')
Sleep(5000)
ControlClick ('Patch','Alcohol 120','Button3')
Exit
а файл alcohol.reg остался от старых версий, на всякий случай:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%\Info]
"UserName"="Denchik"
"Company"="Babylon 5"
"SerialNo"="ALCBCBCBCBC3T99TVJKK2G7XYBCVWDDB2MPCDR78YCDB2CCB289RTK234CD7MG7D43TC3M392C34V89T8DFJKBBT8MPMPQ6T8BB2 33HCDXXCCBCBCB"
Проблема не в том что он не ставиться все, а вот что когда очередь доходит до него в WPI, то почемуто WPI закрывается а Alcohol продолжает установку и все приложения которые стояли после Alcohol не ставяться так, как уже выгруженно WPI.
Sanja Alone
10-11-2005, 02:22
CTEPBA
У меня закрывается WPI, а установка Alcohol продолжается?Ну это наверно из-за ProcessClose ("rundll32.exe"). Логично? А воткнул ты это закрытие процесса в мой скрипт скорее всего по причине появления окна "мастер нового оборудования"?... Вот только закрывая rundll32.exe, ты, одновременно с выскочившим окном, закрываешь и окно установки прог, запускаемых из RunOnceEx (этот метод используется в WPI) через тот же самый rundll32. Твоя проблема решаема, а как - было сказано немного выше (http://forum.oszone.net/showpost.php?p=356029&postcount=135).
DenchikK
Алкоголь ставиться примерно так:Это если через msi, а я делал через exe.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.