Окно Выполнить, команды и методы использования
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разбирали настройку роутера Mikrotik для небольшого офиса. Сегодня я хочу отвлечься от сетевых вещей и показать вам незаменимый и порой игнорируемый новичками инструмент Windows, а именно окно «Выполнить«. Мы рассмотрим, как открыть данное окно, что полезного оно даст системному администратору и в каких ситуациях может просто спасти и поверьте, что такие случаи имеются.
Что такое окно «Выполнить»
Окно «Выполнить» или Run Windows из оригинального языка — это специальное окно, которое позволяет запускать быстрые команды Windows, запускать программы, открывать файлы, папки, ключи реестра, проще говоря практически все, что угодно. Данный инструмент создан для ускоренного получения доступа к нужным параметрам, окнам, настройкам и без использования мышки, очень полезен при траблшутинге, но об этом ниже
Сценарии использования окна «Выполнить»
Прежде, чем я вам покажу все методы открытия и практические применения, я бы хотел вам рассказать основные сценарии, которые можно рассматривать для данного окна:
- Я помню один случай, когда после неправильной настройки сервера были внесены нерабочие сетевые настройки, в итоге сервер отвалился. Так как он был железным, то пришлось идти в серверную, к сожалению порта управления у него не было, пришлось подключать KVM, болью было то, что у него на лицевой стороне не работали USB порты, а это означало, что мышка сзади не дотягивалась. В итоге пришлось все делать без нее, и вот представьте, что происходит когда у вас лежит важный сервер, у которого вы не можете добраться до нужных настроек, но так как у меня богатый опыт работы с Windows, то я знал, как вызвать нужную мне настройку или из командной строки или из окна «Выполнить», чем я и воспользовался.
- Второй случай, мышка у вас есть, но вот соединение до такой степени тормозное, что у вас мышка либо не успевает за вашими действиями или вообще слишком чувствительная и улетает с нужного места, в таких ситуациях умение работать с быстрыми командами окна «Выполнить» просто не заменимо. Такое легко встретить на виртуальных машинах, где не установлены драйвера интеграции.
- Третья ситуация, это просто быстрее, что вы мышкой про щелкаете 3 и более экранов, до того пока достигните нужную вам настройку, а если взять во внимание, что это может быть либо тормозной сервер (перегруженный) или с нестабильным сетевым соединением, то вы будите тратить дополнительное время.
- Есть вообще настройки, в которые вы можете попасть исключительно за счет быстрых команд Windows
1. Классический метод открыть окно выполнить
В какой бы версии Windows вы бы не применили данный метод, он будет всегда работать, ну разве, что кроме версии Windows Core, которая лишена графического интерфейса. И так нажимаем одновременно сочетание клавиш Windows +R и в результате вы увидите в левом углу нужное вам окно.
Первый раз я его увидел в эпоху Windows 95, где оно выглядело вот так.
2. Вызываем окно выполнить через поиск Windows
Как всегда в Windows, использование поиска — это отличная идея, чтобы найти что угодно.
Метод для Windows 10, Windows Server 2016 и выше
Откройте значок с изображением лупы и введите «Выполнить», в результате этих действий у вас будет список из одного пункта, щелкаем по нему и открываем системное окно.
Метод для Windows 8.1, Windows Server 2012 R2
Откройте пуск, в правом верхнем углу нажмите значок с лупой.
В окне поиска вводим слово «Выполнить», где получаем результат поиска.
Метод для Windows 7, Windows Server 2008 R2
В Windows 7 вызвать окошко «Выполнить» можно открыв пуск и в строке поиска ввести соответствующее слово. Выше вы получите результаты поиска.
3. Запуск окна выполнить через командную строку
%windir%\explorer.exe shell.
В результате вы вызовите заветное окно, можете для удобства создать себе ярлык с этим значением.
4. Как открыть окно выполнить через проводник Windows
В проводнике Windows вы можете найти уже готовый ярлык, располагается он по пути:
C:\Users\имя пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools
Если посмотреть его свойства, то вы увидите его тип «Run».
5. Запуск через меню пуска
Кнопка пуск, это специальное место объединяющее большинство настроек. функций и программ имеющихся в операционной системе. Чтобы вызвать из него диалоговое окно «Выполнить» делаем следующее:
Если у вас Windows 10 или Windows Server 2016 и выше, в пуске найдите раздел «Служебные — Windows». Раскрыв его вы найдете нужный вам пункт.
Если у вас Windows 8.1 или Windows Server 2012 R2, в пуске находим кнопку со стрелкой вниз.
Так же ищем раздел «Служебные — Windows» в котором будет ярлык на диалоговое окно «Выполнить».
Если у вас Windows 7 или Windows Server 2008 R2, в пуске нажмите «Все программы».
В разделе «Стандартные» найдите соответствующий пункт.
6. Метод для Windows 8.1 и выше
Начиная с Windows 8.1 и Windows Server 2012 R2, у кнопки пуск появилось дополнительное контекстное меню, которое можно вызвать правым кликом по нему или сочетанием клавиш Windows +X. В самом низу вы найдете пункт запускающий окно «Выполнить».
7. Использование диспетчера задач
Бывают ситуации, что у вас может зависнуть проводник Windows, и единственное что вы можете сделать это вызвать диспетчер задач, или у вас в принципе нет графического интерфейса в случае с Core версией. В такой ситуации вы легко можете выкрутится починив все через окно Windows run. Для этого в меню файл выберите пункт «Запустить новую задачу«,
которая и вызовет окно «Выполнить» и обратите внимание, что тут даже есть возможность запустить задачу в режиме администратора.
Команды диалогового окна выполнить
Приведу тут наиболее используемые:
- regedit — реестр Windows
- msinfo32 — Если вы хотите быстро получить системную информацию, то команда «msinfo32» — это то, что вам нужно. С первого взгляда он отобразит все детали системы, включая аппаратные ресурсы и программную среду.
- sdclt — эта команда открывает окно «Резервное копирование и восстановление», которое позволяет вам быстро установить расписание резервного копирования или восстановить любую из ваших предыдущих резервных копий.
- compmgmt.msc — в приложении «Управление компьютером» вы можете получить доступ практически ко всем расширенным модулям Windows, таким как «Просмотр событий», «Общая папка», «Системные инструменты»
- cleanmgr — эта команда позволяет открыть утилиту очистки диска Windows.
Это лишь малая часть команд, полный список напоминаю находится по ссылке выше. На этом у меня все, мы с вами рассмотрели ситуации при которых удобно использовать окно «Выполнить», его методы запуска и список быстрых команд Windows. На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Популярные Похожие записи:
Горячие клавиши Windows 12
Как открыть PowerShell, все методы
Горячие клавиши Windows 11, все комбинации
Установка и настройка Hyper-V в Windows 11
Не открывается объект групповой политики gpedit.msc
Как удалить Internet Explorer (IE) из Windows Server и Windows 10
Диалоговые окна «Открыть» и «Сохранить как»
[Начиная с Windows Vista, общие диалоговые окна «Открыть» и «Сохранить как» заменены диалоговым окном «Общий элемент». Мы рекомендуем использовать API общих диалоговых окон вместо этих диалоговых окон из библиотеки общих диалоговых окон.]
Диалоговое окно Открыть позволяет пользователю указать диск, каталог и имя файла или набора файлов для открытия. Диалоговое окно Открыть создается и отображается путем инициализации структуры OPENFILENAME и передачи структуры в функцию GetOpenFileName .
Диалоговое окно Сохранить как позволяет пользователю указать диск, каталог и имя файла для сохранения. Диалоговое окно Сохранить как создается и отображается путем инициализации структуры OPENFILENAME и передачи структуры в функцию GetSaveFileName .
Обозреватель стиле диалоговых окон Открыть и Сохранить как предоставляют функции пользовательского интерфейса, аналогичные Обозреватель Windows. Однако система по-прежнему поддерживает диалоговые окна «Открыть» и «Сохранить как » старого стиля для приложений, которые должны соответствовать старому пользовательскому интерфейсу.
Помимо различий в внешнем виде, диалоговые окна Обозреватель и старого стилей отличаются использованием пользовательских шаблонов и процедур перехватчика для настройки диалоговых окон. Однако диалоговые окна Обозреватель и старого стилей имеют одинаковое поведение для большинства основных операций, таких как указание фильтра имен файлов, проверка входных данных пользователя и получение имени файла, указанного пользователем. Дополнительные сведения о диалоговых окнах в стиле Обозреватель и старом стиле см. в разделе Настройка диалогового окна «Открыть и сохранить как».
На следующем рисунке показано типичное диалоговое окно «Открыть» в стиле Обозреватель.
На следующем рисунке показано типичное диалоговое окно «Сохранить как» в Обозреватель стиле.
Если пользователь указывает имя файла и нажимает кнопку ОК , getOpenFileName или GetSaveFileName возвращает значение TRUE. Буфер, на который указывает элемент lpstrFile структуры OPENFILENAME , содержит полный путь и имя файла, указанные пользователем.
Если пользователь отменяет диалоговое окно Открыть или Сохранить как или возникает ошибка, функция возвращает значение FALSE. Чтобы определить причину ошибки, вызовите функцию CommDlgExtendedError , чтобы получить расширенное значение ошибки. Если буфер lpstrFile слишком мал для получения полного имени, CommDlgExtendedError возвращает FNERR_BUFFERTOOSMALL а первые 2 байта буфера, на который указывает член lpstrFile , имеют целое значение, указывающее размер, необходимый для получения полного имени.
В этом разделе рассматриваются следующие темы.
- Имена файлов и каталоги
- Фильтры
- Проверка файлов и каталогов
- Настройка диалогового окна «Открыть и сохранить как»
- Обозреватель процедуры перехватчика
- Пользовательские шаблоны в стиле Обозреватель
- Идентификаторы элементов управления в стиле Обозреватель
- Настройка диалоговых окон Old-Style
Имена файлов и каталоги
Сведения в этом разделе относятся как к диалоговым окнам «Открыть» и «Сохранить как» в стиле Обозреватель, так и в старом стиле.
Перед вызовом функций GetOpenFileName или GetSaveFileName член lpstrFile структуры OPENFILENAME должен указывать на буфер для получения имени файла. Элемент nMaxFile должен указывать размер буфера lpstrFile в символах. Для функции ANSI это число байтов, а для функции Юникод — количество символов.
Если пользователь указывает имя файла и нажимает кнопку ОК , диалоговое окно копирует выбранный диск, каталог и имя файла в буфер lpstrFile . Функция также задает для членов nFileOffset и nFileExtension смещение в символах, начиная с начала буфера с именем файла и расширением имени файла соответственно.
Чтобы получить только имя файла и расширение, задайте для элемента lpstrFileTitle значение, указывающего на буфер, и задайте для элемента nMaxFileTitle размер буфера в символах. Кроме того, можно передать буфер lpstrFile в вызове функции GetFileTitle , чтобы получить отображаемое имя выбранного файла. Однако обратите внимание, что имя файла, возвращаемое GetFileTitle , включает расширение только в том случае, если это предпочтительна пользователю для отображения имен файлов.
Диалоговое окно использует текущий каталог для вызывающего процесса в качестве начального каталога, из которого будут отображаться файлы и каталоги. Используйте функции GetCurrentDirectory и SetCurrentDirectory для получения и изменения текущего каталога процесса. Чтобы указать другой исходный каталог без изменения текущего каталога, используйте элемент lpstrInitialDir , чтобы указать имя каталога. Диалоговое окно автоматически изменяет текущий каталог, когда пользователь выбирает другой диск или каталог. Чтобы предотвратить изменение текущего каталога в диалоговом окне, установите флаг OFN_NOCHANGEDIR . Этот флаг не запрещает пользователю изменять каталоги для поиска файла.
Чтобы указать расширение имени файла по умолчанию, используйте элемент lpstrDefExt . Если пользователь указывает имя файла без расширения, диалоговое окно добавляет расширение по умолчанию. Если вы указываете расширение по умолчанию и пользователь указывает имя файла с другим расширением, диалоговое окно устанавливает флаг OFN_EXTENSIONDIFFERENT .
Чтобы пользователь выбирал несколько файлов из каталога, установите флаг OFN_ALLOWMULTISELECT . Для совместимости со старыми приложениями в диалоговом окне множественного выбора по умолчанию используется пользовательский интерфейс старого стиля. Чтобы отобразить диалоговое окно множественного выбора в Обозреватель стиле, необходимо также установить флаг OFN_EXPLORER.
Если пользователь выбирает несколько файлов, буфер, на который указывает элемент lpstrFile , возвращает путь к текущему каталогу, за которым следуют имена выбранных файлов. Элемент nFileOffset — это смещение имени первого файла, а элемент nFileExtension не используется. В следующей таблице описана разница между диалоговым окном Обозреватель и диалоговым окном старого стиля при возврате нескольких имен файлов.
Стиль диалогового окна | Описание |
---|---|
Диалоговые окна в Обозреватель стиле | Строки имени каталога и файла разделены значением NULL , а после последнего имени файла — дополнительным символом NULL . Этот формат позволяет диалоговым окнам в стиле Обозреватель возвращать длинные имена файлов, включающие пробелы. |
Диалоговые окна старого стиля | Строки имени каталога и файла разделяются пробелами. Для имен файлов с пробелами функция использует короткие имена файлов. |
Для преобразования длинных и коротких имен файлов можно использовать функцию FindFirstFile .
Если вы указываете OFN_ALLOWMULTISELECT и пользователь выбирает только один файл, строка lpstrFile не будет иметь разделителя между путем и именем файла.
Фильтры
Сведения в этом разделе относятся как к диалоговым окнам «Открыть» и «Сохранить как» в стиле Обозреватель, так и в старом стиле.
Вы можете предоставить фильтры имен файлов, чтобы помочь пользователю ограничить имена файлов, отображаемые в диалоговом окне. Фильтр имени файла состоит из пары строк, завершаемых значением NULL, описания и шаблона, которые объединяются с другой. В диалоговом окне отображается описание, позволяющее пользователю выбрать фильтр для использования; и использует шаблон для выбора отображаемых файлов.
Чтобы указать фильтры, задайте элемент lpstrFilter структуры OPENFILENAME , указывающий на буфер, содержащий массив пар строк фильтра. За последней строкой в массиве должен следовать дополнительный символ NULL.
Строка шаблона может быть сочетанием допустимых символов имени файла и звездочки (*). Звездочка — это подстановочный знак, представляющий любое сочетание допустимых символов имени файла. В диалоговом окне отображаются только те файлы, которые соответствуют шаблону. Чтобы указать несколько шаблонов для одного описания, необходимо использовать точку с запятой (;) для разделения шаблонов. Обратите внимание, что пробелы в строке шаблона могут привести к непредвиденным результатам.
В следующем фрагменте кода указываются два фильтра. Фильтр с описанием «Источник» имеет два шаблона. Если пользователь выбирает этот фильтр, в диалоговом окне отображаются только файлы с . C и . Расширения CXX. Обратите внимание, что на языке программирования C строка, заключенная в двойные кавычки, заканчивается null.
OPENFILENAME ofn; // common dialog box structure ofn.lpstrFilter = "Source\0*.C;*.CXX\0All\0*.*\0" ofn.nFilterIndex = 1;
Элемент nFilterIndex структуры OPENFILENAME указывает индекс, указывающий, какой фильтр изначально используется в диалоговом окне. Первый фильтр в буфере имеет индекс 1, второй — 2 и т. д. Если пользователь изменяет фильтр при использовании диалогового окна, для элемента nFilterIndex устанавливается индекс выбранного фильтра при возврате.
Можно создать пользовательский фильтр, задав для элемента lpstrCustomFilter адрес буфера, содержащего один фильтр, и задав для элемента nMaxCustFilter размер буфера в символах или байтах. Диалоговое окно всегда помещает настраиваемый фильтр в начало списка фильтров и при возврате всегда обновляет часть шаблона фильтра шаблоном из фильтра, выбранного пользователем.
Для диалоговых окон в стиле Обозреватель расширение по умолчанию может измениться, если пользователь выберет другой фильтр. Если пользователь выбирает фильтр, первый шаблон которого имеет вид *. xxx (то есть расширение не содержит подстановочный знак), диалоговое окно использует xxx в качестве расширения по умолчанию. Это происходит, только если вы указали расширение по умолчанию в элементе lpstrDefExt структуры OPENFILENAME . Например, если пользователь выбирает «Источник\0*. C;*. Фильтр CXX\0», расширение по умолчанию изменяется на «C». Однако, если вы определили фильтр как «Источник\0*. C*\0», расширение по умолчанию не изменится, так как расширение содержит подстановочный знак.
Сообщение CDN_INCLUDEITEM уведомления предоставляет еще один способ фильтрации имен, отображаемых в диалоговом окне. Чтобы использовать это сообщение, укажите процедуру перехватчика OFNHookProc и укажите флаг OFN_ENABLEINCLUDENOTIFY в структуре OPENFILENAME при создании диалогового окна. Каждый раз, когда пользователь открывает папку, диалоговое окно отправляет CDN_INCLUDEITEM уведомление в процедуру перехватчика для каждого элемента в открывшейся папке. Возвращаемое значение процедуры перехватчика указывает, должно ли диалоговое окно отображать элемент в списке элементов папки.
Проверка файлов и каталогов
За исключением указанных выше случаев, сведения в этом разделе относятся как к диалоговым окнам Обозреватель, так и к диалоговым окнам «Открыть» и «Сохранить как«.
Диалоговое окно автоматически проверяет имена файлов, введенные пользователем, чтобы убедиться, что имена содержат только допустимые символы. Чтобы переопределить проверку имени файла, установите флаг OFN_NOVALIDATE .
Чтобы в диалоговом окне убедиться, что пользователь указал имя существующего файла, установите флаг OFN_FILEMUSTEXIST . Чтобы принудительно проверить, существует ли указанный путь, установите флаг OFN_PATHMUSTEXIST . Если вы задали флаг OFN_CREATEPROMPT , диалоговое окно запрашивает у пользователя разрешение на создание несуществующего файла. Если этот флаг установлен и пользователь решает создать новый файл, диалоговое окно закрывается, а функция возвращает указанное имя. В противном случае диалоговое окно остается открытым.
При использовании диалогового окна Сохранить как можно настроить диалоговое окно, чтобы у пользователя появилось разрешение на перезапись существующего файла, установив флаг OFN_OVERWRITEPROMPT .
По умолчанию диалоговое окно создает тестовый файл нулевой длины, чтобы определить, можно ли создать новый файл в выбранном каталоге. Чтобы предотвратить создание этого тестового файла, установите флаг OFN_NOTESTFILECREATE .
Если включить процедуру перехватчика, диалоговое окно уведомляет вашу процедуру перехватчика о нарушении общего доступа к сети для имени файла, указанного пользователем. Если вы задали флаг OFN_EXPLORER , диалоговое окно отправляет CDN_SHAREVIOLATION сообщение в процедуру перехватчика. Если не задать OFN_EXPLORER, диалоговое окно отправляет зарегистрированное сообщение SHAREVISTRING в процедуру перехватчика. Чтобы предотвратить отправку в диалоговом окне уведомлений о нарушениях общего доступа, установите флаг OFN_SHAREAWARE .
Если пользователь выбирает проверка только для чтения, при возвращении диалоговое окно устанавливает флаг OFN_READONLY. Чтобы скрыть поле Открыть как только для чтения проверка, установите флаг OFN_HIDEREADONLY. Чтобы в диалоговом окне не возвращались имена существующих файлов, имеющих атрибут только для чтения, установите флаг OFN_NOREADONLYRETURN .
Чтобы предотвратить разыменовку файлов ссылок в диалоговом окне, задайте значение OFN_NODEREFERENCELINKS . В этом случае диалоговое окно возвращает имя файла ссылки, а не имя файла, на который ссылается файл ссылки.
Настройка диалогового окна «Открыть и сохранить как»
Диалоговое окно Открыть или Сохранить как можно настроить, предоставив процедуру перехватчика, пользовательский шаблон или и то, и другое. Однако Обозреватель и старые версии диалоговых окон отличаются использованием пользовательских шаблонов и процедур перехватчика.
В следующей таблице перечислены различия между этими двумя стилями.
Настройка | Описание |
---|---|
Обозреватель процедура перехватчика | Процедура перехватчика получает уведомления, отправляемые из общего диалогового окна, и сообщения для всех дополнительных элементов управления, определенных путем указания дочернего шаблона диалогового окна. Процедура перехватчика не получает сообщения для стандартных элементов управления диалогового окна по умолчанию. |
Настраиваемый шаблон в стиле Обозреватель | Система использует пользовательский шаблон для создания дочернего диалогового окна. Шаблон может определять дополнительные элементы управления и может указывать расположение кластера стандартных элементов управления. Пользовательский шаблон не заменяет шаблон по умолчанию. |
Старый стиль процедуры перехватчика | Процедура перехватчика получает все сообщения, отправляемые в диалоговое окно, включая сообщения для стандартных элементов управления и любых пользовательских элементов управления. Процедура перехватчика также получает зарегистрированные сообщения, отправленные из общего диалогового окна. |
Настраиваемый шаблон старого стиля | Пользовательский шаблон заменяет шаблон по умолчанию. Создайте пользовательский шаблон, изменив шаблон по умолчанию, указанный в файле Fileopen.dlg. |
По умолчанию для диалоговых окон Обозреватель и в старом стиле используется заголовок «Открыть» или «Сохранить как«. Чтобы изменить заголовок, укажите новый заголовок в элементе lpstrTitle структуры OPENFILENAME.
Куст реестра HKEY_CURRENT_USER пользователя может содержать значения, которые настраивают содержимое диалоговых окон «Открыть» и «Сохранить как» в стиле Обозреватель. Эти записи реестра влияют только на диалоговые окна, отображаемые для пользователя, связанного с кустом реестра.
Чтобы скрыть функции диалоговых окон «Открыть» и «Сохранить как» в стиле Обозреватель, администратор может задать значения в следующей таблице в этом подразделе:
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Policies Comdlg32
Имя значения | Значение | Значение |
---|---|---|
NoPlacesBar | 1 | Скрывает панель мест. |
NoFileMRU | 1 | Скрывает список последних использованных (MRU). |
NoBackButton | 1 | Скрывает кнопку Назад . |
Содержимое панели «Места » определяется содержимым следующего подраздела:
HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Policies Comdlg32 Placesbar
В настоящее время в этом ключе может быть только пять записей, а индекс значения и имени основан на нулях. Имена записей должны быть Place0, Place1, Place2, Place3 и Place4. Значения записей могут быть REG_DWORD, REG_SZ или REG_EXPAND_SZ значениями, определяющими расположения для включения в строку мест.
Тип значения | Значение |
---|---|
REG_DWORD | Значение CSIDL, определяющее папку. Список значений CSIDL см. в разделе Значения CSIDL. |
REG_SZ или REG_EXPAND_SZ | Строка, завершающаяся значением NULL, указывающая допустимый путь. |
Процедуры перехватчика Explorer-Style
Вы можете настроить диалоговое окно «Открыть» или «Сохранить как» в стиле Обозреватель, указав процедуру перехватчика, пользовательский шаблон или и то, и другое. Если вы предоставляете процедуру перехватчика для диалогового окна Обозреватель стиле, система создает диалоговое окно, которое является дочерним по отношению к диалоговому окну по умолчанию. Процедура перехватчика выступает в качестве процедуры диалога для дочернего диалогового окна. Это дочернее диалоговое окно основано на пользовательском шаблоне или на шаблоне по умолчанию, если он не указан. Дополнительные сведения см. в статье Пользовательские шаблоны в стиле Обозреватель.
Чтобы включить процедуру перехватчика для диалогового окна Открыть или Сохранить как в стиле Обозреватель, при создании диалогового окна используйте структуру OPENFILENAME. Задайте флаги OFN_ENABLEHOOK и OFN_EXPLORER в элементе Flags и укажите адрес процедуры перехватчика OFNHookProc в элементе lpfnHook . Если вы указали процедуру перехватчика и опустите флаг OFN_EXPLORER , необходимо использовать процедуру перехватчика OFNHookProcOldStyle , и вы получите пользовательский интерфейс старого стиля. Дополнительные сведения см. в разделе Настройка диалоговых окон Old-Style.
При открытии диалогового окна процедура перехватчика в Обозреватель стиле получает различные сообщения. следующие основные параметры.
- Сообщение WM_INITDIALOG и другие стандартные сообщения диалогового окна, например сообщение цвета элемента управления WM_CTLCOLORDLG .
- Набор WM_NOTIFY уведомлений, указывающих действия, выполненные пользователем, или другие события диалогового окна.
- Сообщения для всех дополнительных элементов управления, определенных путем указания дочернего шаблона диалогового окна.
Кроме того, существует набор сообщений, которые можно отправлять в диалоговое окно Обозреватель для получения сведений или управления поведением и внешним видом диалогового окна.
Если вы предоставляете процедуру перехватчика для диалогового окна Обозреватель стиле, процедура диалогового окна по умолчанию создает дочернее диалоговое окно, когда диалоговая процедура по умолчанию обрабатывает WM_INITDIALOG сообщение. Процедура перехватчика выступает в качестве процедуры диалога для дочернего диалогового окна. В настоящее время процедура перехватчика получает собственное сообщение WM_INITDIALOG с параметром lParam , равным адресу структуры OPENFILENAME , используемой для инициализации диалогового окна. После того как дочерний диалог завершит обработку собственного сообщения WM_INITDIALOG , процедура диалога по умолчанию перемещает стандартные элементы управления, если это необходимо, чтобы освободить место для дополнительных элементов управления дочернего диалогового окна. Затем диалоговое окно по умолчанию отправляет CDN_INITDONE сообщение уведомления в процедуру перехватчика.
Процедура перехватчика получает WM_NOTIFY уведомления о действиях, выполненных пользователем в диалоговом окне. Некоторые из этих сообщений можно использовать для управления поведением диалогового окна. Например, процедура перехватчика получает сообщение CDN_FILEOK , когда пользователь выбирает имя файла и нажимает кнопку ОК . В ответ на это сообщение процедура перехватчика может использовать функцию SetWindowLong , чтобы отклонить выбранное имя и заставить диалоговое окно оставаться открытым.
Параметр lParam для каждого сообщения WM_NOTIFY является указателем на структуру OFNOTIFY или OFNOTIFYEX , которая определяет действие. Элемент кода в заголовке этой структуры содержит одно из следующих сообщений уведомления.
Сообщение | Значение |
---|---|
CDN_FILEOK | Пользователь нажал кнопку ОК ; диалоговое окно будет закрыто. |
CDN_FOLDERCHANGE | Пользователь открыл новую папку или каталог. |
CDN_HELP | Пользователь нажал кнопку Справка . |
CDN_INCLUDEITEM | Определяет, должен ли отображаться элемент. Когда пользователь открывает новую папку или каталог, система отправляет это уведомление для каждого элемента в папке или каталоге. Система отправляет это уведомление только в том случае, если был установлен флаг OFN_ENABLEINCLUDENOTIFY . |
CDN_INITDONE | Система завершила инициализацию диалогового окна, а диалоговое окно завершило обработку сообщения WM_INITDIALOG . Кроме того, система завершила размещение элементов управления в общем диалоговом окне, чтобы освободить место для элементов управления дочернего диалогового окна (если таковые имеются). |
CDN_SELCHANGE | Пользователь выбрал новый файл или папку из списка файлов. |
CDN_SHAREVIOLATION | В обычном диалоговом окне обнаружено нарушение общего доступа к файлу, который должен быть возвращен. |
CDN_TYPECHANGE | Пользователь выбрал новый тип файла из списка типов файлов. |
Эти WM_NOTIFY сообщения заменяют зарегистрированные сообщения FILEOKSTRING, LBSELCHSTRING, SHAREVISTRING и HELPMSGSTRING , используемые в предыдущих версиях диалоговых окон Открыть и Сохранить как . Однако процедура перехватчика также получает замененное сообщение после сообщения WM_NOTIFY , если обработка WM_NOTIFY не использует SetWindowLong для задания ненулевого DWL_MSGRESULT значения.
Чтобы получить сведения о состоянии диалогового окна или управлять поведением и внешним видом диалогового окна, процедура перехватчика может отправить в диалоговое окно следующие сообщения.
Сообщение | Значение |
---|---|
CDM_GETFILEPATH | Извлекает путь и имя выбранного файла. |
CDM_GETFOLDERIDLIST | Извлекает список идентификаторов элементов, соответствующий текущей папке, открытой в диалоговом окне. Дополнительные сведения о списках идентификаторов элементов см. в статье Общие сведения о пространстве имен оболочки. |
CDM_GETFOLDERPATH | Извлекает путь к текущей папке или каталогу для диалогового окна. |
CDM_GETSPEC | Извлекает имя файла (не включая путь) файла, выбранного в диалоговом окне. |
CDM_HIDECONTROL | Скрывает указанный элемент управления. |
CDM_SETCONTROLTEXT | Задает текст в указанном элементе управления. |
CDM_SETDEFEXT | Задает расширение имени файла по умолчанию для диалогового окна. |
пользовательские шаблоны Explorer-Style
Чтобы определить дополнительные элементы управления для диалогового окна Открыть или Сохранить как в стиле Обозреватель, используйте структуру OPENFILENAME, чтобы указать шаблон для дочернего диалогового окна, содержащего дополнительные элементы управления. Если дочерний шаблон диалогового окна является ресурсом в приложении или библиотеке динамической компоновки, установите флаг OFN_ENABLETEMPLATE в элементе Flags и используйте элементы hInstance и lpTemplateName структуры для идентификации модуля и имени ресурса. Если шаблон уже находится в памяти, установите флаг OFN_ENABLETEMPLATEHANDLE и используйте элемент hInstance для идентификации объекта памяти, содержащего шаблон. При указании дочернего шаблона диалога для диалогового окна в Обозреватель стиле необходимо также установить флаг OFN_EXPLORER. В противном случае система предполагает, что вы предоставляете шаблон замены для диалогового окна старого стиля. Как правило, если вы предоставляете дополнительные элементы управления, необходимо также предоставить Обозреватель процедуру перехватчика для обработки сообщений для новых элементов управления.
Вы можете создать шаблон дочернего диалогового окна так же, как и любой другой шаблон, за исключением того, что необходимо указать стили WS_CHILD и WS_CLIPSIBLINGS , а также указать стили DS_3DLOOK и DS_CONTROL . Системе требуется стиль WS_CHILD , так как шаблон определяет дочерний диалог диалогового окна по умолчанию Открыть или Сохранить как . Стиль WS_CLIPSIBLINGS гарантирует, что дочернее диалоговое окно не будет закрашивать ни один из элементов управления в диалоговом окне по умолчанию. Стиль DS_3DLOOK гарантирует, что внешний вид элементов управления в дочернем диалоговом окне соответствует элементам управления в диалоговом окне по умолчанию. Стиль DS_CONTROL гарантирует, что пользователь может использовать tab и другие клавиши навигации для перемещения между всеми элементами управления (по умолчанию или пользовательскими) в настраиваемом диалоговом окне.
Чтобы освободить место для новых элементов управления, система расширяет диалоговое окно по умолчанию на ширину и высоту настраиваемого диалогового окна. По умолчанию все элементы управления из настраиваемого диалогового окна расположены под элементами управления в диалоговом окне по умолчанию. Однако это положение по умолчанию можно переопределить, включив статический текстовый элемент управления в настраиваемый шаблон диалогового окна и назначив ему значение идентификатора элемента управления stc32. (Это значение определено в файле заголовка Dlgs.h.) В этом случае система использует элемент управления в качестве точки отсчета для определения расположения новых элементов управления. Все новые элементы управления, расположенные выше и слева от элемента управления stc32 , размещаются одинаково выше и слева от элементов управления в диалоговом окне по умолчанию. Новые элементы управления ниже и справа от элемента управления stc32 расположены ниже и справа от элементов управления по умолчанию. Как правило, каждый новый элемент управления размещается таким образом, чтобы он имел такое же положение относительно элементов управления по умолчанию, что и для элемента управления stc32 . Чтобы освободить место для этих новых элементов управления, система при необходимости добавляет пространство слева, справа, снизу и верхней части диалогового окна по умолчанию.
Система требует, чтобы процедура перехватчика обрабатывала все сообщения, предназначенные для настраиваемого диалогового окна, и поэтому отправляет те же сообщения окна в процедуру перехватчика, что и для любой другой процедуры диалогового окна. Например, процедура перехватчика получает WM_COMMAND сообщений, когда пользователь нажимает кнопки управления в настраиваемом диалоговом окне. Процедура перехватчика отвечает за инициализацию этих элементов управления и получение значений из элементов управления при закрытии диалогового окна. Обратите внимание, что когда процедура перехватчика получает сообщение WM_INITDIALOG , система еще не переместила элементы управления в конечные позиции.
Процедура диалогового окна по умолчанию обрабатывает сообщения для всех элементов управления в диалоговом окне по умолчанию, но процедура перехватчика получает уведомления о действиях пользователя с этими элементами управления, как описано в статье Процедуры перехватчика в стиле Обозреватель.
Идентификаторы элементов управления Explorer-Style
Пакет средств разработки программного обеспечения (SDK) для Windows предоставляет шаблон диалогового окна по умолчанию для диалоговых окон старого стиля, но не включает шаблон по умолчанию для диалоговых окон Обозреватель стиле. Это связано с тем, что диалоговые окна в стиле Обозреватель позволяют добавлять собственные элементы управления, но не поддерживают изменение шаблона для стандартных элементов управления. Однако в некоторых случаях может потребоваться знать идентификаторы элементов управления, используемые в шаблонах по умолчанию. Например, для CDM_HIDECONTROL и CDM_SETCONTROLTEXT сообщений требуется идентификатор элемента управления.
В следующей таблице показаны идентификаторы стандартных элементов управления в Обозреватель стиле диалоговых окон Открыть и Сохранить как. Идентификаторы — это константы, определенные в Dlgs.h и Winuser.h.
Идентификатор элемента управления | Описание элемента управления |
---|---|
chx1 | Поле проверка только для чтения |
cmb1 | Раскрывающееся поле со списком, в котором отображается список фильтров типов файлов |
stc2 | Метка для поля со списком cmb1 |
cmb2 | Раскрывающееся поле со списком, которое отображает текущий диск или папку и позволяет пользователю выбрать диск или папку для открытия. |
stc4 | Метка для поля со списком cmb2 |
cmb13 | Раскрывающееся поле со списком, в котором отображается имя текущего файла, позволяет пользователю ввести имя открываемого файла и выбрать файл, который был открыт или сохранен недавно. Это касается более ранних Обозреватель совместимых приложений без обработчика или шаблона диалогового окна. Сравнение с edt1. |
edt1 | Изменить элемент управления , который отображает имя текущего файла или позволяет пользователю ввести имя открываемого файла. Сравните с cmb13. |
stc3 | Метка для поля со списком cmb13 и элемента управления редактирования edt1 |
lst1 | Список, в котором отображается содержимое текущего диска или папки |
stc1 | Метка для списка lst1 |
IDOK | Кнопка » ОК» (кнопка push) |
IDCANCEL | Кнопка «Отмена » (кнопка «Отправить») |
pshHelp | Кнопка » Справка » (кнопка «Отправить») |
Настройка диалоговых окон Old-Style
Вы можете настроить диалоговое окно «Открыть » или «Сохранить как » старого стиля, предоставив процедуру перехватчика OFNHookProcOldStyle , которая получает сообщения или уведомления, предназначенные для процедуры диалогового окна по умолчанию. Вы также можете предоставить пользовательский шаблон для использования вместо шаблона по умолчанию. Процедуры-перехватчики и шаблоны, используемые в диалоговых окнах старого стиля, аналогичны тем, которые используются в других распространенных диалоговых окнах. Дополнительные сведения см. в разделе Процедуры перехвата для распространенных диалоговых окон и пользовательских шаблонов.
Чтобы включить процедуру перехватчика для диалогового окна «Открыть » или «Сохранить как «, используйте структуру OPENFILENAME при создании диалогового окна. Установите флаг OFN_ENABLEHOOK в элементе Flags и укажите адрес процедуры перехватчика OFNHookProcOldStyle в элементе lpfnHook . Процедура диалогового окна отправляет WM_INITDIALOG сообщение в процедуру перехватчика с параметром Param, заданным в адрес структуры OPENFILENAME , используемой для инициализации диалогового окна.
С помощью структуры OPENFILENAME можно указать настраиваемый шаблон для диалогового окна Открыть или Сохранить как вместо шаблона по умолчанию. Если настраиваемый шаблон является ресурсом в приложении или библиотеке динамической компоновки, установите флаг OFN_ENABLETEMPLATE в элементе Flags и используйте элементы hInstance и lpTemplateName структуры для идентификации модуля и имени ресурса. Если пользовательский шаблон уже находится в памяти, установите флаг OFN_ENABLETEMPLATEHANDLE и используйте элемент hInstance для идентификации объекта памяти, содержащего шаблон. Создайте пользовательский шаблон, изменив шаблон по умолчанию, указанный в файле Fileopen.dlg. Идентификаторы элементов управления, используемые в шаблонах диалогов поиска и замены по умолчанию, определяются в файле Dlgs.h.
По умолчанию функции GetOpenFileName и GetSaveFileName отображают диалоговые окна в стиле Обозреватель. Если вы хотите отобразить диалоговое окно старого стиля, необходимо указать процедуру перехватчика OFNHookProcOldStyle и убедиться, что флаг OFN_EXPLORER не задан в элементе Flags структуры OPENFILENAME .
Если вы задали флаг OFN_EXPLORER, система обрабатывает процедуру перехватчика или пользовательский шаблон как настройку Обозреватель стиле. Сведения о настройке диалогового окна в стиле Обозреватель см. в разделе Пользовательские шаблоны в Обозреватель стиле.
См. также раздел
Четыре простых способа открыть окно «Выполнить» в WINDOWS 10
Запускать системные программы и меню настроек Windows можно гораздо быстрее, используя диалоговое окно «Выполнить». В этом уроке я покажу несколько основных способов вызвать это окно.
Способ #1: Сочетание клавиш WIN + R
Это самый простой и быстрый способ открытия диалогового окна «Выполнить». Опытные пользователи используют именно такой метод. Хочу заметить, что WIN + R работает во всех версиях операционной системы Windows.
Способ #2: Меню «Пуск»
Если вам не нравится использовать горячие клавиши и работа мышкой вас привлекает больше, то этот способ для вас.
Нажмите на кнопку «Пуск» левой кнопкой мыши. Откройте папку «Системные» и кликните на программу «Выполнить».
Способ #3: Меню «Пуск»
Во втором способе мы кликали на кнопку «Пуск» левой кнопкой мыши, сейчас же нужно щелкнуть правой кнопкой. В появившемся окне нажимаем на меню «Выполнить».
Способ #4: Окно поиска
Когда все предыдущие способы припомнить не получается, мне на помощь приходит меню поиска в Windows 10.
Скорее всего, есть еще несколько путей вызвать окно «Выполнить» в Windows 10, но эти четыре способа, на мой взгляд, являются самыми простыми.
7 способов открыть диалоговое окно «Выполнить» в Windows 10.
Диалоговое окно «Выполнить» позволяет запускать программы, приложения, открывать разделы параметров системы и Панели управления, запускать огромное количество системных команд или встроенных в Windows инструментов, таких как командная строка, редактор реестра, редактор локальной групповой политики, очистка диска и т.д. Просто введите путь или быструю команду в поле «Выполнить», а затем нажмите «ОК» или Enter, чтобы использовать команду. На первый взгляд диалоговое окно «Выполнить» не так легко найти в последних версиях Windows, но, этот инструмент все еще существует и есть множество способов получить к нему доступ. В этом руководстве показано, как открыть диалог «Выполнить» в Windows 10:
1. Откройте диалоговое окно «Выполнить» с помощью сочетания клавиш.
Самый быстрый способ получить доступ к окну «Выполнить» — использовать сочетание клавиш Windows + R. Помимо того, что этот способ очень легко запомнить, он универсален для всех версий Windows. Удерживая клавишу Windows на клавиатуре, нажмите R .
Окно сразу же откроется в нижнем левом углу экрана и вы также, сможете его закрепить на панели задач.
2. Используйте Поиск, чтобы открыть окно «Выполнить».
Как всегда, использовать поиск Windows чтобы что нибудь найти — отличная идея. Если вы используете Windows 10, введите слово «выполнить» в строке поиска.
Затем нажмите соответствующий результат поиска или нажмите кнопку «Открыть» на панели справа.
3. Откройте командное окно «Выполнить» из меню «Пуск».
Меню «Пуск» — это надежный способ доступа к функциям вашего компьютера или устройства, включая диалог «Выполнить».
Откройте в меню «Пуск», кликнув на логотип Windows в нижнем левом углу или нажав кнопку Windows на клавиатуре. Затем прокрутите вниз и найдите папку «Служебные — Windows», откройте папку и нажмите «Выполнить».
Здесь вы также сможете закрепить команду на начальном экране или панели задач.
В Windows 7 откройте меню «Пуск» и выберите «Все программы → Стандартные → Выполнить».
4. Используйте Командную строку (CMD), чтобы открыть окно «Выполнить».
Некоторым из моих коллег нравится командная строка, поэтому мы решили добавить этот способ, несмотря на то, что, его не так легко запомнить, как другие способы, показанные в этой статье.
Запустите командную строку и введите следующее:
explorer.exe Shell.
Этот способ работает как в Windows 10, так и в Windows 7.
5. Откройте командное окно «Выполнить» с помощью PowerShell.
Не знаете, как открыть диалог из PowerShell в Windows 10 и Windows 7? Сначала запустите PowerShell. Затем скопируйте / вставьте или введите следующую команду:
(New-Object -ComObject "Shell.Application").FileRun()
Нажмите Enter , и в нижнем левом углу сразу же откроется окно команды «Выполнить».
6. Используйте меню WinX, чтобы открыть окно «Выполнить» в Windows 10.
В Windows 10 есть скрытое меню опытного пользователя, в котором есть пункт для запуска окна «Выполнить». Есть много способов получить доступ к этому меню, самый простой — использовать сочетание клавиш Windows + X . Затем кликните мышкой «Выполнить» или нажмите букву R на клавиатуре, чтобы открыть окно.
7. Получить доступ к команде «Выполнить» с помощью Диспетчера задач.
Откройте диспетчер задач с помощью меню WinX или нажмите сочетание клавиш Ctrl Shift ESC ,
Кликните мышкой меню «Файл» и выберите «Запустить новую задачу».
Обратите внимание, здесь вы можете создать задачу с правами администратора.
Все!
К чему вы хотите получить доступ с помощью окна «Выполнить»?
Командное окно «Выполнить» было впервые представлено Microsoft в Windows 95 и с тех пор остается с нами. Некоторые из нас использует его довольно часто, но многие еще не осознают потенциал и полезность. Мы рады, что эта функция привлекла ваше внимание, но нам любопытно, что привело вас сюда. Вы ищете новые способы открыть командное окно Windows «Выполнить» или пробуете что-то новое на своем компьютере? Дайте нам знать об этом в комментариях.
Рекомендуем:
- Windows 10 Rundll32 Команды — полный список
- CLSID (GUID) Список расположения Shell в Windows 10
- Полный список переменных сред в Windows 10
- Используйте адресную строку Проводника в Windows 10 как команду «Выполнить».