Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.
Группа Вконтакте | Электронная почта | Симаков Яков ВК |
Выводит стандартное диалоговое окно, которое позволяет пользователю выбрать папку.
OutputVar | Имя переменной для сохранения имени выбранной папки. OutputVar будет пустой, если пользователь отменяет диалог (т.е. не хочет выбирать папку). Если пользователь выбирает корневой каталог (такой как C:\), OutputVar будет содержать обратную косую черту на конце. Если это нежелательно, удалите её, как показано в следующем примере:
FileSelectFolder, Folder
StringRight, LastChar, Folder, 1
if LastChar = \
StringTrimRight, Folder, Folder, 1 ; Удалить обратную косую черту.
|
StartingFolder | Начальная папка. Если этот параметр пустой или опущен, при открытии диалогового окна будет выделена папка Мои документы (или, возможно, Мой компьютер). Специальные папки могут быть заданы через CLSID, например, ::{20d04fe0-3aea-1069-a2d8-08002b30309d} (т.е. Мой компьютер). Иначе самым обычным способом использования этого параметра является указание в нём звёздочки и сразу за ней - полного пути к диску или папке для начального выделения. Например, *C:\ приведёт к выделению диска С. Аналогично, *C:\My Folder выделит эту конкретную папку. Звёздочка показывает, что пользователю разрешена навигация вверх (ближе к корню) от начальной папки. Без звёздочки его выбор был бы ограничен самой папкой StartingFolder и папками внутри неё. Одна из выгод пропуска звёздочки состоит в том, что StartingFolder показывается сразу в развёрнутом виде, что может сэкономить пользователю щелчок по первому плюсу. Если звёздочка указана, навигация вверх может быть при желании ограничена до папки, отличной от Рабочего стола. Для этого нужно указать перед звёздочкой полный путь к самой верхней папке и после него ровно один пробел или табуляцию. В следующем примере пользователю не позволяется переходить выше папки C:\My Folder (но начальное выделение будет на C:\My Folder\Projects): C:\My Folder *C:\My Folder\Projects
|
Options | Опции (может быть выражением). Одно из следующих чисел: 0: все опции, указанные ниже, отключены 1 (по умолчанию): присутствует кнопка, позволяющая пользователю создать новую папку. Прибавьте 2 к числу выше, чтобы появилось текстовое поле, которое позволит пользователю ввести имя папки. Например, значение 3 для этого параметра задаёт как текстовое поле, так и кнопку "Создать папку". Если пользователь введёт в текстовое поле ошибочное имя папки, в OutputVar будет помещено имя папки, выбранной в панели навигации, а не той, что ввёл пользователь, по крайней мере в Windows XP. |
Prompt | Текст, который будет показан в окне как инструкция для пользователя. Если опущен или пустой, будет показан как "Select Folder - %A_SCRIPTNAME%" (т.е. с использованием имени выполняющегося скрипта). |
Устанавливается в 1, если пользователь закрыл диалоговое окно, не выбрав папку (например, нажав кнопку "Отмена"). Также устанавливается в 1, если операционная система отказывается выводить это диалоговое окно (редко). Иначе устанавливается в 0.
Окно GUI может выводить модальное диалоговое окно выбора папки при помощи Gui +OwnDialogs. Модальный диалог не позволяет пользователю взаимодействовать с окном Gui до тех пор, пока не будет закрыт.
Известное ограничение: таймер, который запускается во время показа диалога FileSelectFolder, приведёт к отсрочиванию реакции на щелчки пользователя внутри диалога до момента своего завершения. Чтобы избежать этого, старайтесь не использовать таймеры, чьи подпрограммы долго выполняются, либо отключайте все таймеры на время показа диалога:
Операционная система также предоставляет стандартные диалоговые окна, предлагающие пользователю выбрать шрифт, цвет или значок. Эти диалоги могут выводиться с использованием DllCall(), как показано в http://www.autohotkey.com/forum/topic17230.htmlphp.