|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты |
|
[Архив - Часть 1.2] AutoIt скрипты
|
Ветеран Сообщения: 565 |
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. |
|
------- Отправлено: 10:47, 10-02-2006 |
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать Доброго Времени Суток ещё раз.
1. Подскажите пожалуйста, как отследить нажатую клавишу? - какая именно была нажата? |
------- Отправлено: 18:03, 08-04-2006 | #111 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать proxy
Поясни вопрос. Обычно AutoIt сам эмулирует нажатие нужных клавиш. А ты хочешь от него обратного? |
Отправлено: 06:13, 09-04-2006 | #112 |
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать Я хочу узнать какую клавишу (к примеру ASCII код) нажал пользователь, для последующей записи в log.
.......проще говоря: Как в AutoIt реализовать перехват клавиш, без их замены как это делает HotKeySet. К примеру я пишу текст в блокноте, а программа будет показывать все нажатые клавиши. |
------- Отправлено: 09:30, 09-04-2006 | #113 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать proxy
На мой взгляд, ты хочешь от AutoIt то, для чего он не предназначен. "AutoIt", - все-таки, это: "a freeware BASIC-like scripting language designed for automating the Windows GUI". Наверное, тебе больше подойдет брат AutoIt'а - AutoHotKey. Без труда найдешь его в сети. |
Отправлено: 11:00, 09-04-2006 | #114 |
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать Большое Спасибо, по обилию функций в справке - AutoHotKey - это именно то, что я искал.
|
------- Отправлено: 13:12, 10-04-2006 | #115 |
Ветеран Сообщения: 825
|
Профиль | Отправить PM | Цитировать bogomolv Канычна сапасиба. Везде поменял на твой вариант и усе замечательно за...лось!
В раже даже написал скрипт для смены веремени выбора систеым в файле BOOT.INI мОЖЕТ ЕГО еще как можно было изменить, но я сделал так! $file = FileOpen("c:\boot.ini",0) ; Check if file opened for writing OK If $file = -1 Then MsgBox(0, "Error", "Unable to open c:\boot.ini file.") Exit EndIf $newfile = FileOpen('c:\boot_new.ini',2) ; Check if file opened for writing OK If $newfile = -1 Then MsgBox(0, "Error", "Unable to open c:\boot_new.ini file.") Exit EndIf ; Read in lines of text until the EOF is reached While 1 $line = FileReadLine($file) If @error = -1 Then ExitLoop If StringInSTr( $line, "timeout=", 0) = 1 Then FileWriteLine($newfile, "timeout=7") Else FileWriteLine($newfile, $line) EndIf ; MsgBox(0, "Line read:", $line) Wend FileClose($file) FileClose($newfile) FileSetAttrib ( "c:\boot.ini", "-R-S-H" ) FileCopy ( "c:\boot.ini" , "c:\boot_old.ini", 1 ) FileCopy ( "c:\boot_new.ini", "c:\boot.ini" , 1 ) FileDelete("c:\boot_new.ini") FileSetAttrib ( "c:\boot.ini", "+R+S+H" ) Exit |
Отправлено: 14:38, 10-04-2006 | #116 |
Старожил Сообщения: 205
|
Профиль | Отправить PM | Цитировать Имеется следующий скрипт:
$netsh = @ScriptDir & '\netsh.cfg' RunWait (@SystemDir & '\netsh.exe interface ip dump > ' & $netsh, @SystemDir, @SW_HIDE) Так вот файл netsh.cfg создается в ДОС кодировке. И я не могу прочитать русские слова командами автоита. $file = FileOpen($netsh, 0) $line = FileReadLine($file) Получаесся абракадабра. Что делать? |
Отправлено: 17:31, 10-04-2006 | #117 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:28, 10-04-2006 | #118 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать VelDmi
Когда-то решал подобную проблему так: $f = 'C:\1.txt' $aa = FileRead($f, FileGetSize($f)) $a1 = " ЎўЈ¤Ґс¦§Ё©Є«¬*®ЇабвгдежзийклмнопЂЃ‚ѓ„…р†‡?‰Љ‹ЊЌЋЏђ‘’“”•–—?™љ›њќћџ" ;переменная $a1 взята из ECHO "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" > C:\1.txt $a2 = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" For $i = 1 To StringLen($aa) $k = StringInStr($a1, StringMid($aa, $i, 1)) If $k>0 Then $aa = StringReplace($aa, $i, StringMid($a2, $k, 1)) Next msgbox(0,'',$aa) |
Отправлено: 07:52, 11-04-2006 | #119 |
Старожил Сообщения: 205
|
Профиль | Отправить PM | Цитировать bogomolv
Спасибо, решил свою проблему так: RunWait (@COMSPEC & ' /c chcp 1251 && netsh.exe interface ip dump > netsh.cfg', @SystemDir, @SW_HIDE) Файл создается в нужной кодировке. |
Отправлено: 08:11, 11-04-2006 | #120 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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 |
|