Открытие файлов и папок с помощью средства выбора
Полный пример см. в примере средства выбора файлов.
Необходимые компоненты
- Общее представление об асинхронном программировании для приложений универсальной платформы Windows (UWP). Вы можете узнать, как писать асинхронные приложения в C# или Visual Basic, см . статью «Вызов асинхронных API» в C# или Visual Basic. Сведения о написании асинхронных приложений в C++см. в статье «Асинхронное программирование» в C++.
- Права доступа к расположению См . разрешения на доступ к файлам.
Пользовательский интерфейс средства выбора файлов
Средство выбора файлов отображает сведения для ориентации пользователей и обеспечивает согласованный интерфейс при открытии или сохранении файлов.
Эти сведения включают:
- Текущее расположение
- Элемент или элементы, выбранные пользователем
- Дерево расположений, к которым пользователь может перейти. К этим расположениям относятся расположения файловой системы ( например, папка «Музыка» или «Загрузки»), а также приложения, реализующие контракт средства выбора файлов (например, Камера, Фотографии и Microsoft OneDrive).
Почтовое приложение может отобразить средство выбора файлов для пользователя, чтобы выбрать вложения.

Как работают средства выбора
С помощью средства выбора приложение может получать доступ, просматривать и сохранять файлы и папки в системе пользователя. Приложение получает эти выборы как объекты служба хранилища File и служба хранилища Folder, с которыми можно работать.
Средство выбора использует единый унифицированный интерфейс, чтобы разрешить пользователю выбирать файлы и папки из файловой системы или из других приложений. Файлы, выбранные из других приложений, похожи на файлы из файловой системы: они возвращаются как объекты служба хранилища File. Как правило, приложение может работать с ними так же, как и другие объекты. Другие приложения предоставляют файлы, участвующие в контрактах средства выбора файлов. Если вы хотите, чтобы приложение предоставило файлы, расположение сохранения или обновления файлов другим приложениям, см. статью «Интеграция с контрактами средства выбора файлов».
Например, можно вызвать средство выбора файлов в приложении, чтобы пользователь мог открыть файл. Это делает приложение вызывающим приложением. Средство выбора файлов взаимодействует с системой и (или) другими приложениями, чтобы разрешить пользователю перемещаться и выбирать файл. Когда пользователь выбирает файл, средство выбора файлов возвращает этот файл в приложение. Ниже приведен процесс выбора файла из приложения, например OneDrive.

Выберите один файл: полный список кода
var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; picker.FileTypeFilter.Add(".jpg"); picker.FileTypeFilter.Add(".jpeg"); picker.FileTypeFilter.Add(".png"); Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file != null) < // Application now has read/write access to the picked file this.textBlock.Text = "Picked photo: " + file.Name; >else
Выберите один файл: пошаговые шаги
Использование средства выбора файлов включает создание и настройку объекта средства выбора файлов, а затем отображение средства выбора файлов, чтобы пользователь смог выбрать один или несколько элементов.
-
Создание и настройка FileOpenPicker
var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; picker.FileTypeFilter.Add(".jpg"); picker.FileTypeFilter.Add(".jpeg"); picker.FileTypeFilter.Add(".png");
- Задание для свойства ViewMode значения Thumbnail перечисления PickerViewMode создает сложное визуальное представление за счет эскизов изображений, представляющих файлы в средстве выбора файлов. Это делается для выбора визуальных файлов, таких как изображения или видео. В противном случае используйте PickerViewMode.List. Гипотетическое почтовое приложение с функциями «Присоединить рисунок» или «Видео» и «Присоединить документ» позволяет задать viewMode, соответствующий функции, прежде чем отображать средство выбора файлов.
- Установка предложенияStartLocation to Pictures с помощью PickerLocationId.PicturesLibrary запускает пользователя в расположении, где они, скорее всего, будут находить изображения. Задайте для параметра SuggestedStartLocation расположение, подходящее для выбранного типа файла, например «Музыка», «Рисунки», «Видео» или «Документы». В начальном расположении пользователь может перейти к другим расположениям.
- Использование FileTypeFilter для указания типов файлов позволяет пользователю сосредоточиться на выборе нужных файлов. Чтобы заменить предыдущие типы файлов в FileTypeFilter новыми записями, используйте ReplaceAll вместо Add.
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file != null) < // Application now has read/write access to the picked file this.textBlock.Text = "Picked photo: " + file.Name; >else
var files = await picker.PickMultipleFilesAsync(); if (files.Count > 0) < StringBuilder output = new StringBuilder("Picked files:\n"); // Application now has read/write access to the picked file(s) foreach (Windows.Storage.StorageFile file in files) < output.Append(file.Name + "\n"); >this.textBlock.Text = output.ToString(); > else
Выберите папку: полный список кода
var folderPicker = new Windows.Storage.Pickers.FolderPicker(); folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop; folderPicker.FileTypeFilter.Add("*"); Windows.Storage.StorageFolder folder = await folderPicker.PickSingleFolderAsync(); if (folder != null) < // Application now has read/write access to all contents in the picked folder // (including other sub-folder contents) Windows.Storage.AccessCache.StorageApplicationPermissions. FutureAccessList.AddOrReplace("PickedFolderToken", folder); this.textBlock.Text = "Picked folder: " + folder.Name; >else
Каждый раз, когда ваше приложение получает доступ к файлу или папке через средство выбора, добавляйте этот файл или папку в свойство FutureAccessList или MostRecentlyUsedList приложения для отслеживания. Дополнительные сведения об использовании этих списков см. в статье «Отслеживание недавно используемых файлов и папок».
Как из браузера открыть папку в проводнике Windows
Представьте, что у вас возникла необходимость прямо с веб-страницы заказа в вашей CRM-системе открывать папку с файлами, которые к этому заказу относятся. Но не просто отображать содержимое папки, а прямо на компьютере открывать проводник с этой папкой.
К сожалению, сделать это «в лоб» не получится. Во-первых, браузеры умеют открывать только веб-страницы, а не программы на компьютере. Во-вторых, политика безопасности браузеров запрещает доступ ко всему, что явно не разрешено, тем более, доступ к файловой системе.
Вы можете резонно предположить, что есть протокол file:// (я позволю себе использовать здесь и далее слово протокол, хотя правильнее, конечно, схема URI), который позволяет браузерам открывать локальные файлы, но с ним также есть две проблемы:
1) он не может отобразить список файлов в папке;
2) такие ссылки нельзя открывать с внешних (не локальных) веб-страниц.
Чтобы решить данную проблему, мы будем использовать свой протокол с собственным обработчиком. Метод будет работать в Windows и потребует некоторых (очень простых) действий на компьютере.
В HTML-коде это будет выглядеть как-то так:
Можно из JavaScript:
window.open('myproto://C:/My Folder/123');
Сначала необходимо придумать название протокола (у меня будет myproto) и зарегистрировать его в системе. Для этого в любом месте (хоть на рабочем столе) создаём файл с расширением .reg (например, myproto.reg) и следующим содержимым:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\myproto] "URL Protocol"="" @="URL:Myproto Protocol" [HKEY_CLASSES_ROOT\myproto\shell] [HKEY_CLASSES_ROOT\myproto\shell\open] [HKEY_CLASSES_ROOT\myproto\shell\open\command] @="\"C:\\myproto.bat\" \"%1\""
Здесь myproto — название моего только что созданного протокола. Можете изменить на своё (но не используйте стандартные названия протоколов типа http, ftp, mailto и прочие).
Запускаем файл. Винда выдаст несколько вопросов и предупреждений, со всеми соглашаемся. Всё, больше этот файл на этом компьютере не нужен, можно удалять.
Далее в корне диска C: необходимо создать файл myproto.bat со следующим содержимым:
@echo off set "path=%~1" setlocal enabledelayedexpansion set path=%path:myproto://=% set path=%path:"=% set path=%path:/=\% set path=!path:%%20= ! set path=!path:%%5C=\! C:\Windows\explorer.exe "%path%"
Здесь также меняем myproto на название вашего протокола. Это и будет его обработчик.
Всё готово. Теперь вы можете прямо из браузера (абсолютно любого) на данном компьютере открывать папки в проводнике в отдельном окне, просто открыв ссылку вида myproto://C:/My Folder/123.
К сожалению, данные действия придётся проделать на всех компьютерах, где необходима такая функциональность. Но, как правило, подобные вещи используются во внутрикорпоративных приложениях, где число пользователей известно и ограничено.
Как открыть файл или папку в системе Windows
Для выполнения многих задач, таких как изменение сведений в файле или создание копии файла или папки, нужно открыть в Windows файл или папку.
Для открытия файла необходимо наличие программы, которая связана с этим файлом. Обычно это программа, в которой был создан файл.
Ниже описано, как открыть файл или папку Windows:
- Выберите файл или папку, которую нужно открыть.
- Файл или папку можно открыть двойным щелчком.
- Если дважды щелкнуть файл, связанная программа откроется автоматически, если она еще не открыта. Чтобы открыть файл в другой программе, щелкните правой кнопкой мыши, выберите Открыть с помощью и выберите из списка программу, совместимую с этим файлом.
- Если дважды щелкнуть папку, она откроется в Проводнике Windows. Это действие не открывает другую программу.
- Если отображается сообщение о том, что Windows не удается открыть файл, возможно, необходимо установить программу, в которой можно открывать файлы такого типа. Для этого в диалоговом окне щелкните Поиск соответствующей программы в интернете, а затем нажмите кнопку ОК . Если служба распознает тип файла, она предложит программу, которую нужно установить.
Как открыть папку на компьютере
Для открытия папки либо какого-то другого файла, расположенного на компьютере нам понадобятся периферийные устройства, которые подключаются к системному блоку компьютера — клавиатура либо мышь. С помощью мыши открыть папку на компьютере довольно просто. Достаточно навести курсор на нужный объект и клацнуть по нему два раза левой кнопкой. Либо один раз клацнуть правой и в появившемся меню выбрать пункт «Открыть». Для открытия с помощью клавиатуры, достаточно стрелками выбрать необходимый документ и нажать кнопку «Enter».
- Связаться с нами
- Правила проекта
- Лицензионное соглашение
- Политика конфиденциальности