Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты

Ответить
Настройки темы
[Архив - Часть 1.2] AutoIt скрипты

Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 25-01-2008
Внимание!
Тема переведена в архивное состояние





(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.
Можно ли с помощью AutoIt выбрать каталог? Хочу нацарапать оболочку, которая мне будет конфиги для nnBackup писать, дык выбрать каталог для бэкапа пока только вручную получается... Нельзя ли как-нть вывалить стандартный диалог по выбору файлов-папок, и получить из него результат действий пользователей?

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 10:47, 10-02-2006

 

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


Сообщения: 25
Благодарности: 1

Профиль | Цитировать


Есть ли у кого пример или готовый скрипт поиска файла по всем дискам и всем директориям и поддиректориям

Отправлено: 10:11, 24-07-2006 | #241



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 125
Благодарности: 9

Профиль | Отправить PM | Цитировать


adima
Пример поиска файла здесь уже приводился. В твоем случае нужно лишь зациклить поиск по дискам:
Код: Выделить весь код
Opt('ExpandEnvStrings', 1); default = 0
Opt('ExpandVarStrings', 1); default = 0
Opt('RunErrorsFatal', 0); default = 1
Opt('TrayIconDebug', 1); default = 0

$drives = DriveGetDrive("all")
If @error Then Exit

For $i=1 to $drives[0]
  $dr=dir($drives[$i]&'\*_1.au3')
  For $k=1 To $dr[0]-1
    MsgBox(0,'',$dr[$k])
  Next
  $dr=0
Next
Exit

Exit

Func dir($d)
 $dr = Run('%Comspec% /c dir "$d$" /s /b','',0,6)
 $f  = ''
 While not @error
  $f = $f & StdoutRead($dr)
 Wend
 Return (StringSplit(StringReplace($f,@LF,''),@CR))
EndFunc

Отправлено: 01:24, 25-07-2006 | #242


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


Сообщения: 41
Благодарности: 0

Профиль | Отправить PM | Цитировать


Где можно взять готовый скрипт или может у кого есть на программу R-STUDIO v.3 EN

Отправлено: 13:19, 25-07-2006 | #243


Пользователь


Сообщения: 73
Благодарности: 2

Профиль | Отправить PM | Цитировать


Скажите, как с помощью AutoIt можно получить раздел реестра содержащий какой либо параметр=значение.
Надо чтобы результатом был раздел реестра содержащий данный параметр равный данному значению.

Или может кто подскажет как получить название устройства (установленого, например видео карты)из реестра. По адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ имееется информация о всех установленых драйверах системы, но конечный раздел для каждого устройства разный, в зависимости от того как его назвали при разработке драйвера, единственное как можно определить например видеокарту - это что параметр Group = video

Последний раз редактировалось xstranger, 28-07-2006 в 10:49.


Отправлено: 05:19, 28-07-2006 | #244


Пользователь


Сообщения: 125
Благодарности: 9

Профиль | Отправить PM | Цитировать


xstranger
ПННХНЧ (Пишу, Но Ни Хрена Не Читаю)?

На основе этого примера можно считать и проверить на соблюдение любого условия любую информацию из любого раздела реестра:
Код: Выделить весь код
;Считывание на стадии CMDLINES.TXT будущего разрешение экрана
$screen=1024
If RunWait('@ComSpec@ /C reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses" /s | find "DefaultSettings.XResolution" | find "500"','',0)=0 Then $screen=1280
Для работы железками есть специализированная утилита DEVCON: http://support.microsoft.com/kb/311272/ru.
Данный пример позволяет проверить наличие железки по ее HWID:
Код: Выделить весь код
$hwid='PCI\VEN_10DE' ;nforce4
If RunWait('@ComSpec@ /C devcon.exe hwids "$hwid$" | find "$hwid$"','',0) Then Exit

Отправлено: 08:55, 28-07-2006 | #245


Пользователь


Сообщения: 73
Благодарности: 2

Профиль | Отправить PM | Цитировать


нет.... это немного не то. Или то но я не могу понять как этого добиться.

Просто есть идея - скрипт запускающийся в detachedProgram и постоянно проверяющий либо реестр (если возможно оттуда получить значение) либо консольное приложение - которое возвращает установленый драйвер видео/звука/ит.д..
этот скрипт выводит на экран в процессе установки - установленые драйвера - видео, звук, модем и количество неопознанных устройств.

Можно конечно открыть devmgr по shift+а10, но какаяже тогда автоматизация..., а идея мне кажется хорошая.

может есть у когонибудь какие нибудь практические предложения!?... давайте вместе подумаем

Отправлено: 11:24, 28-07-2006 | #246


Пользователь


Сообщения: 73
Благодарности: 2

Профиль | Отправить PM | Цитировать


вот уже кое что нашел:
в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video - перечисляются все видео драйверы установленые на компьютере включая vgasave, но только один вложеный раздел содержит параметр Device Description и его значение равно названию видео карты.
с помощью утилиты из состава reskit 2k srv - regfind можно получить значение параметра Device Description

Отправлено: 11:56, 28-07-2006 | #247


Аватара для kpuk

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


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


прошу сильно не пинать, а подробненько разжувать:
Есть прога. К ней есть API-функции.
Как их передать программе через autoit??
Просьба попожробенее и на примере.
Вот, для примера имею:
- доступ к функциям осуществляется через единый интерфейс IRunpadShell
----------------------------------------------
HRESULT TurnShell(BOOL bNewState);
Включает или отключает шелл (TRUE/FALSE соответственно)
----------------------------------------------

Как мне к примеру через автоит закрыть прогу через эту функцию???

Отправлено: 22:13, 28-07-2006 | #248


Пользователь


Сообщения: 125
Благодарности: 9

Профиль | Отправить PM | Цитировать


xstranger

Цитата:
может есть у когонибудь какие нибудь практические предложения!?... давайте вместе подумаем
Над чем подумать-то? Над тем, как вывести на экран за 9 мин. до конца установки "Диспетчер устройств"? Можно и devcon'ом вывести на экран все характеристики всех имеющихся в системе устройств (в том числе и какие драйвера установлены). У меня таких устройств devcon насчитал 118. Оно тебе надо?
Может все же поделишься, зачем тебе все это нужно?

Цитата:
в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video - перечисляются все видео драйверы установленые на компьютере включая vgasave, но только один вложеный раздел содержит параметр Device Description и его значение равно названию видео карты
В разделе HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses тоже перечисляются различные устройства. И только один из подразделов содержит заветную информацию о том, какое разрешение подхватили драйвера... Поэтому и предложил простой способ выуживать информацию из реестра, не перебирая все подразделы и не зная точного иентификатора видеокарты.
Задай в параметре find название своей видеокарты и укажи в reg query свою ветку реестра, и мой скрипт ответит тебе, есть ли такая видеокарта.

kpuk

Цитата:
Как мне к примеру через автоит закрыть прогу через эту функцию???
А почему это нужно делать через эту функцию? Почему нельзя закрыть стандартной autoit'овской функцией WinClose?

Отправлено: 02:10, 29-07-2006 | #249


Аватара для kpuk

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


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Это только одна из функций для примера, вот другой пример, который можно тока через API сделать:
-------------------------------------------------------------------------------
HRESULT DoSingleAction(RSHELLACTION dwAction);

Выполняет определенное действие:
RSA_SHOWPANEL - показывает плавающую панель с закладками
RSA_MINIMIZEALLWINDOWS - минимизирует все активные окна
RSA_KILLALLTASKS - снимает все разрешенные задачи (аналог команды шелла/сервера)
RSA_RESTOREVMODE - восстанавливает видеорежим (после выхода из проблемных игр)
RSA_UPDATEDESKTOP - обновляет рабочий стол шелла
RSA_CLOSECHILDWINDOWS - закрывает все дочерние окна шелла
RSA_SWITCHTOUSERMODE - переключает шелл в режим пользователя
RSA_TURNMONITORON - включает монитор
RSA_TURNMONITOROFF - отключает монитор
RSA_ENDVIPSESSION - завершает личную (VIP) сессию клиента (только с версии 4.52)

Функция является асинхронной.
-----------------------------------------------------------------------------------
Как мне через апи завершить личную VIP сессию клиента? через API !!!!

Отправлено: 12:31, 29-07-2006 | #250



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход