|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Не срабатывает часть скрипта при его первом запуске |
|
|
Не срабатывает часть скрипта при его первом запуске
|
Старожил Сообщения: 255 |
Профиль | Отправить PM | Цитировать Добрый день. Имеется скрипт:
Скрытый текст
#include <WinAPIEx.au3> Opt('WinTitleMatchMode', 2) run ( @ComSpec & " /c " & """c:\Documents and Settings\lepta\Рабочий стол\Включить Х.cmd""", "") sleep (10000) _WinAPI_ShellObjectProperties( "X:\" ) ;Запуск свойств диска Х:\ и его расшаривание WinWait( "[TITLE:Свойства; CLASS:#32770]", "") ControlClick ( "[TITLE:Свойства; CLASS:#32770]", "", "[CLASS:SysTabControl32; INSTANCE:1]", "main", 1, 205,12) ControlClick ( "[TITLE:Свойства; CLASS:#32770]", "Если, несмотря на это, вы все равно хотите открыть общий доступ к корневой папке диска, щелкните здесь", "[CLASS:SysLink; INSTANCE:4]", "main", 1, 134,54) ControlCommand ( "[TITLE:Свойства; CLASS:#32770]", "Открыть о&бщий доступ к этой папке", "Button4", "Check", "") ControlClick ( "[TITLE:Свойства; CLASS:#32770]", "Локальный общий доступ и безопасность", "Button6", "main", 1) WinWaitClose ( "[TITLE:Свойства; CLASS:#32770]", "Локальный общий доступ и безопасность") ;Закрыть торрент, если он запущен If ProcessExists ("uTorrent.exe") Then ProcessClose ( "uTorrent.exe" ) EndIf Проблема состоит в том, что диск ни в какую не хочет расшириваться при первом запуске скрипта. Если отключить диск и снова запустить скрипт, то всё отлично срабатывает. Подскажите, пожалуйста, в чём может быть проблема? |
|
Отправлено: 13:32, 18-04-2017 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать sNc-DAntES, а зачем вам такая свалка - и батник, и кликанье? Не проще скриптом делать то же, что делает Включить Х.cmd, а ControlClick() заменить на старую добрую net share?
Для начала заменить Run() на RunWait() не пробовали? И ждать придётся не 10 секунд, а ровно столько, сколько нужно. |
------- Последний раз редактировалось oz84, 18-04-2017 в 14:40. Причина: Уточнение Отправлено: 14:38, 18-04-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата oz84:
|
|
Отправлено: 21:09, 18-04-2017 | #3 |
Старожил Сообщения: 255
|
Профиль | Отправить PM | Цитировать oz84, просто я дерево и знания мои об Autoit весьма поверхностные. net share на Windows XP не имеет параметра /GRANT, то есть нельзя сделать шару только для чтения.
Цитата oz84:
Скрытый текст
То есть, монтирует диск с помощью TrueCrypt. Не получилось у меня сделать это с помощью скрипта. Цитата oz84:
Цитата Iska:
|
|||
Отправлено: 10:57, 19-04-2017 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата sNc-DAntES:
|
||
Отправлено: 05:12, 20-04-2017 | #5 |
Старожил Сообщения: 255
|
Профиль | Отправить PM | Цитировать Iska, то есть начать изучать другой скриптовый язык? Как вариант, конечно, можно, но может есть вариант с помощью Autoit? Мне кажется лучше здесь изучить вопрос чуть глубже, чем начинать учить новый язык. Буду благодарен, если посоветуете, что почитать по данному вопросу тогда?
|
Отправлено: 10:56, 20-04-2017 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sNc-DAntES, код из VBScript WSH практически один-в-один переводится на AutoIt. Можете попросить в Русское сообщество AutoIt, чтобы Вам перевели, или дали иной код.
|
Отправлено: 11:41, 20-04-2017 | #7 |
Старожил Сообщения: 255
|
Профиль | Отправить PM | Цитировать Цитата oz84:
|
|
Отправлено: 10:25, 21-04-2017 | #8 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать sNc-DAntES, а диск вообще монтируется после этого?
Бегло погуглил: разве нельзя просто смонтировать контейнер только на чтение? (К слову, в нагугленном было, что при использовании /v и /q параметр /a становится бесполезным, убрал.) Наверное, можно и батник написать, но раз уж в разделе AutoIt, я бы попробовал как-то так (с проверками по привычке) #NoTrayIcon If FileExists('X:\') Then MsgBox(48 + 4096, 'Расшаривание X:\', 'Диск X:\ уже существует!') Else FileChangeDir('C:\Program Files\Totalcmd\Utils\-=MySys=-\TrueCrypt') RunWait('TrueCrypt.exe /v D:\Lepta.tc /l x /m ro /p пароль /q', '', @SW_HIDE) While 1 If FileExists('X:\') Then ExitLoop Sleep(150) WEnd RunWait(@ComSpec & ' /C net share ShareX=X:\', '', @SW_HIDE) MsgBox(48 + 4096, 'Расшаривание X:\', 'Вроде сработало?') EndIf P.S. FileChangeDir(), думаю, не обязательно, просто чтобы строку подсократить. |
------- Последний раз редактировалось oz84, 21-04-2017 в 15:29. Отправлено: 15:16, 21-04-2017 | #9 |
Старожил Сообщения: 255
|
Профиль | Отправить PM | Цитировать oz84, Я вставил ваш код в SciTE, жму F5 и не происходит вообще ничего. Я делаю, что-то не так?
|
Отправлено: 12:31, 24-04-2017 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - Часть активных программ не ображается при запуске | Navarro | Microsoft Windows 7 | 4 | 09-01-2017 16:06 | |
Разное - [решено] Не создавть пользователя при первом запуске | The_Immortal | Microsoft Windows 7 | 3 | 16-03-2015 12:34 | |
Не срабатывает часть скрипта при первом входе | illznn | Автоматическая установка Windows 2000/XP/2003 | 3 | 09-04-2009 17:19 | |
выполнение скрипта при ПЕРВОМ входе пользователя | tojlst9lk | Microsoft Windows NT/2000/2003 | 1 | 16-03-2009 20:12 | |
Не до конца срабатывает установка с ключём /S при запуске из батника | Baw17 | Автоматическая установка приложений | 8 | 27-01-2007 09:41 |
|