|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36560 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать После запуска с флешки "MyProga"остаються даные от autorun.inf
Даные реестра: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action] @="Запустить MyProga" [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\DefaultLabel] @="MyProga" Здесь ключ реестра как я понимаю "@" если я прописываю его то значение не удаляеться. Тогда произвожу удаление по значению . Код: _RegDeleteEx1("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "Запустить MyProga") Func _RegDeleteEx1($s_Key, $s_Val) Local $sCurrent_ValName, $iCount = 1 While 1 $sCurrent_ValName = RegEnumVal($s_Key, $iCount) If @error <> 0 Then ExitLoop If String(RegRead($s_Key, $sCurrent_ValName)) = $s_Val Then Return RegDelete($s_Key, $sCurrent_ValName) $iCount += 1 WEnd Return @error EndFunc _RegDeleteEx2("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\DefaultLabel", "MyProga") Func _RegDeleteEx2($s_Key, $s_Val) Local $sCurrent_ValName, $iCount = 1 While 1 $sCurrent_ValName = RegEnumVal($s_Key, $iCount) If @error <> 0 Then ExitLoop If String(RegRead($s_Key, $sCurrent_ValName)) = $s_Val Then Return RegDelete($s_Key, $sCurrent_ValName) $iCount += 1 WEnd Return @error EndFunc _RegDeleteEx1("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "Запустить MyProga") Func _RegDeleteEx1($s_Key, $s_Val) Local $sCurrent_ValName, $iCount = 1 While 1 $sCurrent_ValName = RegEnumVal($s_Key, $iCount) If @error <> 0 Then ExitLoop If String(RegRead($s_Key, $sCurrent_ValName)) = $s_Val Then Return RegDelete($s_Key, $sCurrent_ValName) $iCount += 1 WEnd Return @error EndFunc Но мне кажеться получаеться не сильно элигантноне подскажете как можно упростить код . |
------- Отправлено: 17:06, 09-11-2008 | #1111 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата semiono:
Но это всего лишь запустить новую инстанцию cmd.exe и передаст все параметры ком. строки (переданные в скрипт). Для того чтобы скрыть то окно в котором утилита запускается, нужно использовать ту строку что я привёл ранее (с WinSetState). Также можно определить PID (идентификатор) родительского процесса, и скрыть окно по заголовку этого процесса. |
|
------- Отправлено: 23:29, 09-11-2008 | #1112 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать litus,
Цитата litus:
Это нужно удалять так: RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "") RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\DefaultLabel", "") Цитата litus:
_RegDeleteEx("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "Запустить MyProga") _RegDeleteEx("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\DefaultLabel", "MyProga") Func _RegDeleteEx($s_Key, $s_Val) Local $sCurrent_ValName, $iCount = 1 While 1 $sCurrent_ValName = RegEnumVal($s_Key, $iCount) If @error <> 0 Then ExitLoop If String(RegRead($s_Key, $sCurrent_ValName)) = $s_Val Then Return RegDelete($s_Key, $sCurrent_ValName) $iCount += 1 WEnd Return @error EndFunc |
||
------- Отправлено: 23:45, 09-11-2008 | #1113 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Creat0R, мне действительно помогло вставка вначале скрипта:
WinSetState("[CLASS:ConsoleWindowClass]", "", @SW_HIDE) Которое схлопывает моментально консоль! Консоль, в это время исполняет код записанный InnoSetup: [Registry] Root: HKLM32; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Alcohol-Setup"; ValueData: "{sys}\cmd.exe /k start /w {sys}\Alcohol.exe & del /f /q {sys}\Alcohol.exe & reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v Alcohol-Setup /f & Exit"; Flags: noerror; Permissions: admins-full Практически ничего не стал менять, лишь прикрыл внешнюю консоль из скрипта! Спасибо! Что важно, что реестр удаляет архив из которого стартовал скрипт! ;- Хотя вот последнее твоё Run(@ComSpec & " /c " & $CmdLineRaw, "", @SW_HIDE) - это интересно, надо проверить! Потому-что идея разработки hidec утилиты очень даже пригодиться! |
------- Отправлено: 02:07, 10-11-2008 | #1114 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать TERMINAL
Цитата:
#include <Constants.au3> $out = "" $txt = "" ; Запуск DEVCON $foo = Run(@ComSpec & " /C DevCon ListClass Unknown", @SystemDir, @SW_HIDE, $STDOUT_CHILD) ; Чтение результата While 1 $out &= StdoutRead($foo) If @error Then ExitLoop Wend ; Парсинг результата в массив $arr = StringRegExp($out, "(?:[&\w]+\\)+[&\w]+", 3) ; Вывод массива на экран If IsArray($arr) Then For $i=0 To UBound($arr)-1 $txt &= $arr[$i] &@CRLF Next EndIf MsgBox(0,"",$txt) |
|
Последний раз редактировалось amel27, 11-11-2008 в 11:43. Отправлено: 05:13, 10-11-2008 | #1115 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата askretov:
Цитата Maza Faka:
$Server = "192.168.1.1" $Port = "" $LogFile = @TempDir & "\Telnet.Log" $CmdText = @ComSpec & " /C " & 'Telnet -f "' & $LogFile & '" ' & $Server & " " & $Port $CmdPID = Run($CmdText, "") Sleep(1000) $hWnd = WinGetHandle("Telnet " & $Server) If @error Then Exit ControlSend($hWnd, "", "","admin{enter}") Sleep(1000) ControlSend($hWnd, "", "","password{enter}") Sleep(3000) $data = FileRead($LogFile) MsgBox(0, "", $data) ControlSend($hWnd, "", "", "quit{enter}") ControlSend($hWnd, "", "", "^c") WinWaitClose($hWnd) FileDelete($LogFile) |
||
Отправлено: 06:18, 10-11-2008 | #1116 |
![]() Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать amel27, что-то неопределяет...скопировал в System32, запустил твой скрипт...
|
------- Последний раз редактировалось TERMINAL, 10-11-2008 в 11:17. Отправлено: 10:59, 10-11-2008 | #1117 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата TERMINAL:
З.Ы. что касается /C, то это часть команды "CMD /C ", где CMD раскрывается макросом @ComSpec |
|
Отправлено: 11:23, 10-11-2008 | #1118 |
![]() Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать amel27, всё перепробовал, мне кажется что где-то в скрипте ошибка-у себя на компе можешь проверить?
|
------- Отправлено: 11:32, 10-11-2008 | #1119 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать TERMINAL, без скрипта проверь в командной строке указанные команды, выдают список DevID?
|
Отправлено: 11:40, 10-11-2008 | #1120 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ | FOX RED | Защита компьютерных систем | 67 | 21-11-2007 15:05 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|