Показать полную графическую версию : [Архив - Часть 1.1] AutoIt скрипты
Страниц :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[
15]
16
17
DmitryOlenin
06-01-2006, 16:03
bogomolv
===== файл unattend.txt ========
[Shell]
DefaultStartPanelOff=Yes
CustomDefaultThemeFile="C:\WINDOWS\Resources\Themes\Windows Classic.theme"
Вот только что попробовал такой способ (http://oszone.net/display.php?id=3173) (описанный еще ув. Vadikan).
Получилось... Но только при обычной установке. При установке с помощью WPI тема вроде как есть, но не применяется.
То есть в свойствах экрана стоит имя моего файла, но, при этом, тема стоит дефолтная(даже не дефолтная XP, а просто классическая, "необьемная").
Если выбрать ту же тему еще раз и нажать применить - все встает на свои места.
Что это и как побороть я пока не пойму. Может можно какой-то скрипт красивый сделать, чтобы вот так щелкать не приходилось?
specialist
06-01-2006, 17:52
DmitryOlenin
нужно еще использовать модифицированный файл uxtheme.dll
воспользуйся поиском и никакие авто скрипты тут не нужны, все ставится само собой должно. у меня работает.
DmitryOlenin
06-01-2006, 20:17
specialist
Я пользовался поиском. Естественно я использую модифицированный uxtheme.dll.
Хотя дело не в этом файле.
Во-первых, я написал, что при обычной установке(без WPI) тема прекрасно ставится.
Во-вторых, все изменение темы заключается в фоновой картинке(которая, кстати, другим путем уже прописана) и, главное, в измененных курсорах.
Sanja Alone
07-01-2006, 02:22
a-v-g-u-r
в которой бы хранилось имя диска, на котором Винда установлена
Вот тебе два варианта:
@HomeDrive - Drive letter of drive containing current user's home directory.
EnvGet("SYSTEMDRIVE") - более надежный способ, т.к. "current user's home directory" может быть и не на диске с Виндой.
bogomolv
10-01-2006, 18:39
DmitryOlenin
Получилось... Но только при обычной установке. При установке с помощью WPI тема вроде как есть, но не применяется.А что такое - установке с помощью WPI?
Может можно какой-то скрипт красивый сделать...?Так и делал раньше. Но что красивого в таком скрипте?
All
Что-то давно не было обновлений AutoIt!
Имевшаяся у меня версия v3.1.1 не позволила красиво реализовать одну функцию графического интерфейса. Полез за обновлениями. Новых официальных версий - нет. В "бетках" последней числится v3.1.1.100. Ее и взял.
Сразу нашел новый стиль $LVS_EX_CHECKBOXES для функции GUICtrlCreateListView , реализующий то, что меня интересовало. Но пост о другом - о том, что, скорее всего, ждет нас в новом релизе:
Новых функций мало. В основном фиксы, уточнения и новые возможности функций графического интерфейса и работы с внешними библиотеками и объектами.
Удивило, что при этом AutoIt3.exe "разросся" в объеме почти в полтора раза. И самое главное - авторы вновь (на моей памяти это происходит уже второй раз) изменили логику сравнений TRUE/FALSE. В итоге сразу перестали работать два моих скрипта. Придется проводить ревизию всей своей коллекции... :(
Нашелся и забавный глючок: если оператор #ce стоит в последней строке файла и не отбит "концом строки", это приводит последнюю бету в жуткое замешательство, и скрипт не стартует секунд 30-40, потом все работает, как надо.
DmitryOlenin
11-01-2006, 23:20
bogomolv
А что такое - установке с помощью WPI?
Это установка, в которой используется WPI. То есть программы можно выбирать. Об этой программе можно почитать например на ээтом же сайте и форуме.
Так и делал раньше. Но что красивого в таком скрипте?
А он остался? Я бы с радостью воспользовался.
Sanja Alone
12-01-2006, 02:05
Добавил скрипт
DaemonScript 1.6.0 (http://sanjaalone.h15.ru/files/autoit-dtdscript.zip)
bogomolv
А что такое - установке с помощью WPI?WPI - прога для выбора устанавливаемых приложений (написана на JavaScript)
Вопросы по WPI (http://forum.oszone.net/showthread.php?t=46483)
Выбор устанавливаемых приложений (http://oszone.net/display.php?id=2985)
изменили логику сравнений TRUE/FALSEКонкретизируй.
bogomolv
12-01-2006, 02:21
DmitryOlenin
Run('rundll32 shell32, Control_RunDLL desk.cpl,,')
WinWaitActive ('Свойства: Экран','Темы')
ControlCommand ('Свойства: Экран','Темы', 'ComboBox1', 'SelectString', 'Моя тема')
ControlClick ('Свойства: Экран','Темы', 'Button5')
WinClose ('Свойства: Экран','Темы')
Об этой программе можно почитатьДа, вспомнил. Что-то такое встречалось. Но зачем она тем, кто дружит с AutoIt?
Пропиши в CMDLINES.TXT заветную строчку и подложи к CMDLINES.TXT два файлика. И задавай установку дров и программ, каких хочешь, на какой хочешь стадии и с какой тебе нужно логикой ...
=========CMDLINES.TXT==============
[Commands]
"AutoIt3.exe .\cmdlines.au3"
==========CMDLINES.AU3==============
FileCreateShortcut('@ScriptDir@\startup.au3','@StartupDir@\startup.lnk')
==========STARTUP.AU3==============
FileDelete ('@StartupDir@\startup.lnk')
bogomolv
12-01-2006, 02:26
Sanja Alone
Конкретизируй.
Я обломался на $srch=FileFindFirstFile().... If $srch=...
Таких изменений не одно. Скачай AutoIt3.chm и посмотри History.
Sanja Alone
13-01-2006, 01:36
Добавил скрипты
Avenger 1.0.5.9 (http://sanjaalone.h15.ru/files/autoit-avenger.zip)
Unlocker 1.7.7 (http://sanjaalone.h15.ru/files/autoit-unlocker.zip)
bogomolv
Но зачем она тем, кто дружит с AutoIt?Приложения лучше устанавливать имея возможность выбора, и наиболее удобный, imho, для этого способ - проставление "галочек", что и реализовано в WPI. К тому же, в последней версии введена поддержка конфиглистов (упрощенно говоря - это разные default-конфигурации). Выбрал, например "Home" - проставились все свои любимые проги, а "Office" - только необходимые и т.д. А в моей ситуации, когда приложения находятся на отдельном DVD, вариант cmdlines.txt исключен по определению.
bogomolv
13-01-2006, 02:25
Sanja Alone
Ключевое слово твоего поста - "любимые". В числе любимых прог, видно, оказалась и WPI. Против этого чувства бессисльны все доводы...
И только от нечего делать попридираюсь :)
1) $LVS_EX_CHECKBOXES для функции GUICtrlCreateListView в AutoIt как раз отвечает за галочки в списках;
2) какое такое определение исключает в приведенном мной варианте cmdlines.txt возможность его применения, когда приложения находятся на отдельном DVD?
Sanja Alone
14-01-2006, 05:05
bogomolv
Против этого чувства бессисльны все доводы...Ты не прав. Я не прочь попробовать (и пробовал) и другие проги аналогичного назначения, конечно, если они будут для меня столь же удобны в настройке (прямое редактирование конфига, а не кривенький gui) и использовании. А из описанных в статье Vadikan-а, меня вполне устаивает WPI.
В желании приукрасить свой мультибутовый DVD с Виндами, я даже намеревался перейти от консольного bcdw к gui-шному EasyBoot, но неудобсто его настройки (нет прямого редактирования конфиг-файла) и невозможность выбора разных шрифтов (хотя бы для пункта меню и его описания) мне не понравились (конечно, можно к фоновой картинке "пририсовать" описания другим шрифтом, но это лишняя морока).
1) $LVS_EX_CHECKBOXES :beta: в 3.1.1 этого нет; когда будет в новой финальной версии - посмотрим...
2) какое такое определение исключаетотсутствие этого самого cmdlines.txt на диске с софтом :) Хотя, ес-но, можно сделать запуск и через стандартный autorun.inf (как у меня сейчас стартует WPI).
:biggrin: Ну нет у меня желания ваять свой Гуи (то, что это несложно ты и сам знаешь) на АвтоИт-е, имея подходящую (ПОКА !) прогу для интересующих меня задач. Другими словами, я не хочу "изобретать велосипед", даже не взирая на то, что он и не идеален...
Если у тебя есть время и желание переплюнуть javascript-овый WPI на АвтоИте - дерзай. Если прога выйдет лучше (возможности АвтоИт-а всецело этому способствуют) и ты представишь ее на суд общественности, а не сделаешь только для себя, то я буду первым, кто перейдет с WPI на твой вариант.
bogomolv
14-01-2006, 11:04
Sanja Alone
и ты представишь ее на суд общественности, а не сделаешь только для себя, то я буду первым, кто перейдет с WPI на твой вариант
Нет, Саш, исходный посыл был совсем иным - не надо ни на что переходить, если есть AutoIt! Типа, нам не нужны чужие глюки, нам своих хватает. :)
$LVS_EX_CHECKBOXES - в 3.1.1 этого нет
В 3.1.1 есть $TVS_CHECKBOXES для GUICtrlCreateTreeView. Ей и пользовался. А GUICtrlCreateListView ближе по назначению к решавшейся задаче. Соответственно, код получается "красивше".
Не судите строго помогите с скриптом
Вызываем "Свойства папки"
Вкладка "Вид"
Проверка вкладок стоит ли отметка в определенных позициях.
Заранее спасибо.
bogomolv
17-01-2006, 03:39
kovdaev
Замени в скрипте, предложенном тебе Sanja Alone в http://forum.oszone.net/showpost.php?p=384015&postcount=260,
Run ('RunDll32.exe shell32.dll,Options_RunDLL 1') на Run ('RunDll32.exe shell32.dll,Options_RunDLL 0').
$Title у окошек сам догадаешься поменять или тоже "не судить тебя строго"? :)
Вопрос к уважаемым специалистам от AutoIt:
"Тихая" установка Punto Switcher 2.9. (Специально взял себе попроще для начала)
-------------------------------------------------
If WinExists(@ScriptName) Then Exit
AutoItSetOption("TrayIconHide", 1)
BlockInput (1)
Run( "setup_ps29.exe")
WinWait("Установка")
If WinActive("Установка")=0 Then
WinActivate ( "Установка" )
EndIf
WinWaitActive("Установка")
ControlClick("Установка", "Готово", "Button3")
BlockInput (0)
-------------------------------------------------
ControlClick("Установка", "Готово", "Button3") - не работает. "Нажатие" батона не происходит.
Хотя посылка send("{ENTER}") вместо - "ControlClick" отрабатывает нормально, но не всегда же пользоваться
ENTERом. Мануал вроде полистал - выглядит типа всё нормально. В чём дело не пойму, может кто подскажет?
Меня тоже "Не судите строго".
Sanja Alone
18-01-2006, 02:43
kovdaev
Вызываем "Свойства папки" Вкладка "Вид"Как вызвать тебе уже сказал Сергей; переключение между вкладками - Send('^{TAB}')Но проверить состояние галок на закладке "Вид" не получится, т.к. они находятся внутри эл-та SysTreeView - нынешний АвтоИт не умеет проверять состояние/устанавливать пункты такого эл-та управления (ф-ция ControlCommand() не умеет с ним работать).
Специально для тебя, как любителя настройки через окошки, дам эту ссылку (http://www.dx21.com/scripting/rundll32/REFGUIDE.ASP) - тут можешь посмотреть как вызвать интересующие тебя диалоговые окна (и множество других) через rundll32.
Facet
If WinExists(@ScriptName) Then ExitЭто строка в одиночку лишена смысла, т.к. окно АвтоИта по ум. имеет заголовок не @ScriptName, а "AutoIt <номер версии АвтоИта>" (afair). Нужно обязательно дописать и вторую строку AutoItWinSetTitle(@ScriptName) - изменение заголовка на имя стартовавшего скрипта. Логика здесь проста - если скрипт уже запущен и его невидимое окно "сидит" в памяти, то вторая строка, ес-но, была выполнена, а значит это окно имеет заголовок @ScriptName. След-но, при повторном запуске того же скрипта, условие в первой строке будет истиной и приведет к выходу из копии скрипта, давая возм-ть нормально отработать первому экземпляру.
В чём дело не пойму, может кто подскажет?
эл-т управления ("Button3") может быть скрытым;
имя эл-та управления может изменяться от запуска к запуску инталлятора (скажем, был "Button3", а в след раз стал "Button2");
ф-ция ControlClick() тоже не во всех случаях помогает даже если первые два пункта и не имеют места быть.
Короче говоря, используй Send("{ENTER}") и не забивай себе зря мозги - тем более, что применив ф-цию WinWaitActive() до посыла Enter-а, ты можешь быть уверен в активности окна.
bogomolv
18-01-2006, 03:46
Facet
Punto Switcher можно установить еще "тише":
1) скопировать каталог с установленной программой;
2) воспроизвести сохраненные (со всеми нужными настройками) ветки реестра:
HKEY_CURRENT_USER\Software\Punto Switcher\2.8
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\Punto Switcher 2.8
HKEY_LOCAL_MACHINE\SOFTWARE\Punto Switcher\2.8
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Punto Switcher 2.8
В твоей версии Punto Switcher в конце приведенных веток реестра, очевидно, будет значиться версия 2.9.
Автозапуск Punto Switcher прячется в
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Спасибо за пояснения Sanja Alone .
Я как раз на этом и застрял при проверке стоит галочка или нет,
уже хотел просить совета.
Но все равно спасибо. Возможно в дальнейшем разработчик добавит данную функцию в свою программу.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC