Создание проводника в visual studio

Обновлено: 04.07.2024

Как сказал Кен Уайт в комментариях. Я нашел здесь код, который мне помог. Я отредактировал код a в некоторых местах, чтобы приспособить его к Visual Studio 2019:

Описание проблемы: создание нового окна с помощью Visual Studio 2019 на C ++

Я пишу пользовательский интерфейс для USB-устройства с помощью Visual Studio 2019 в проекте типа консольного приложения в cpp. Я хочу добавить две функции - я хочу создать кнопки, которые будут появляться на экране и позволят пользователю:

  1. при нажатии на кнопку «сохранить данные» откроется файловый менеджер, и они смогут выбрать файл, в котором будут храниться данные, считанные из буфера конечной точки.
  2. при нажатии на кнопку «читать данные» откроется файловый менеджер, и они смогут выбрать файл, из которого они хотят читать данные, и записать их в конечную точку. Я хочу, чтобы пользователь выбирал путь к файлу, я не хочу, чтобы пользователь вставлял путь в терминал с помощью клавиатуры, я хочу создать кнопку, которая откроет проводник файлов и позволит пользователю получить доступ к желаемый файл \ местоположение.

Например, чтобы сохранить данные из буфера конечной точки в файл, пользователь щелкнет «сохранить данные» и перейдет к желаемому файлу \ расположению. после выбора местоположения функции libusb будут читать из конечной точки и сохранять данные во временной структуре, из которой я буду записывать их в файл.

Основная проблема для меня - создать эти кнопки и заставить их отображать файловый проводник. Я начал с короткого кода для создания нового окна, как написано в этом руководстве:

Проблема в том, что когда я запускаю программу, окно открывается и сразу же сворачивается. Кроме того, я не могу найти, какие функции могут помочь мне сделать нажатие кнопки, чтобы открыть проводник.

Я использую заголовок windows.h для создания окна. это мой код:

Я добавил в дополнительные зависимости компоновщика флаг «user32.lib», и у меня также нет ошибок компоновщика, так что я думаю, что это не так. В чем может быть проблема? Я пытался найти другие похожие вопросы, но ничего полезного не нашел. кроме того, существует ли какая-либо библиотека, которая предоставляет функции для открытия проводника файлов после нажатия кнопки?

Надеюсь, мой вопрос раньше не задавали, и он написан правильно. Если что-то не так, дайте мне знать, чтобы я мог его отредактировать.

Здравствуйте.
В учебном заведении на экзамен, срок которого - неделя, мне выпало "написать проводник".) В целом, должно выйти "нечто, похожее на проводник винды", конечно не идеально точь в точь похоже, но хотя-бы основные функции должны присутствовать.

Вопрос заключается в том.. с чего вообще начать? Я честно говоря даже не знаю, с какой стороны подступиться к подобному заданию.
Хотелось бы набросать "план действий"..
Для начала, как я понимаю, нужно создать ListView, как-то ( основная сложность ) прикрутить к нему отображение файлов и папок в определенной директории, и что не менее сложно - научить его переходить из папки в папку. Потом можно как-то прикрутить отображение "даты изменения", "типа", "размера" и т.д., если это возможно..

В общем, буду очень благодарен за дельные советы)

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

как создать страницу html через windows forms
Доброго времени суток У меня такая проблема. Нужно написать программу, которая создаёт страницу.

Программа через Windows Forms (конструктор)
Здравствуйте , учу си шарп и тут столкнулся с такой задачей нужно создать программу через Windows.

Как создать презентацию в Windows Forms?
Нужно зделать так чтобы изображение появлялись в определенным порядке ичерез некоторое время

Сохранение значений в БД Access через Windows Forms
Есть БД Access. Состоит из четырёх таблиц:Преподаватели,Темы,Студенты,Оценки. Я их вывел на форму в.

Дальше обрабатываешь события двойного клика на элементы в ЛистВью и отображаешь список файлав и папок в той папке, по которой кликнуто в ЛистВью.
Можно сделать контектстное меню у элементов ЛистВью, из которого можно, например, удалять, переименовывать файлы и папки.
В классах File и FileInfo есть возможности узнать атрибуты файлов, такие как размер, даты создания/изменения, и можно визуально скрывать в ЛистВью файлы с атрибутом Скрытый, ну и так далее, полёт фантазии.

Проблема 1:
При попытке поиска по пути C:\ или D:\ выдает ошибку о правах доступа куда-то. В обычные папки заходит нормально.
Проблема 2:
Как удалить предыдущий узел? А то после каждой "перейти" создается в левом окошке новый узел, а старый не исчезает?
Проблема 3:
Как реализовать разные значки для разных расширений файлов?
И да - можно ли "вытащить" значки из проводника винды, или откуда-то из винды вообще, чтобы не нужно было их принтскринить?) А то принтскринить значки - изврат.

Пишу с нетбука, где нет студии, не отвечу на вопросы про код.
Как реализовать разные значки для разных расширений файлов? Там куча системных картинок, вот только средствами одного NET достать их вроде как не выйдет, для этого придётся использовать WinAPI или сторонние классы. Поэтому для файлов можно брать иконки как я показал, я для папок задавать жестко, например, засунуть в ресурсы программы готовый файл.
И да - можно ли "вытащить" значки из проводника винды, или откуда-то из винды вообще

Что бы просто сохранить к себе на компьютер, есть специальные программы, например Resource Hacker или подобные.

Ранее вы кратко ознакомились с множеством компонентов, образующих среду интегрированной разработки Visual Studio 2013. Теперь вы получите возможность поработать с тремя наиболее широко используемыми инструментальными окнами - Solution Explorer, Toolbox и Properties.

Создавая или открывая приложение или просто отдельный файл, система Visual Studio 2013 использует концепцию решения (solution) для связывания всех компонентов в единое целое. Как правило, решение состоит из одного или нескольких проектов, каждый из которых, в свою очередь, содержит множество элементов, связанных с ним. В прошлом такими элементами были обычные файлы, но в настоящее время все чаще проекты создаются из элементов, которые образованы из нескольких файлов или вообще не включают в себя ни одного файла.

Окно Solution Explorer с несколькими проектами

С каждым проектом связана отдельная пиктограмма, которая, как правило, указывает тип проекта и язык, на котором он написан. У этого правила есть несколько исключений, например, проекты установки (setup projects) не имеют языка программирования, на котором они создаются.

Один из узлов обращает на себя особое внимание, поскольку он выделен полужирным шрифтом. Это значит, что этот проект является стартовым, иначе говоря, проектом, который запускается, когда вы выполняете команду Debug --> Start Debugging или нажимаете клавишу F5 . Для того чтобы сделать проект стартовым, щелкните на соответствующей пиктограмме правой кнопкой мыши и выполните команду Set as StartUp Project. Стартовыми можно сделать сразу несколько проектов. Для этого следует использовать диалоговое окно Solution Properties, которое открывается, когда вы щелкаете правой кнопкой мыши на узле Solution и выбираете пункт Properties.

Панель инструментов в верхней части окна Solution Explorer позволяет настроить внешний вид этого окна, а также задать комбинации клавиш для разного внешнего вида отдельных элементов. Например, кнопка Show All Files - открывает листинг решения и позволяет показать на экране дополнительные файлы и папки:

Показ скрытых файлов с помощью Solution Explorer

Вы видите, что узел Reference Library на самом деле состоит из нескольких файлов, содержащих настройки, ресурсы и информацию о сборке.

В этом развернутом представлении можно увидеть все файлы и папки, относящиеся к структуре проекта. К сожалению, при изменении файловой системы окно Solution Explorer не обновляется автоматически, чтобы отразить эти изменения. Для того чтобы обеспечить правильное представление списка файлов и папок, можно использовать кнопку Refresh.

Инструментальная панель Solution Explorer чувствительна к контексту, поэтому в зависимости от выбранного типа узла на ней отображаются разные кнопки.

Предпросмотр файлов

Одной из наиболее интересных особенностей Visual Studio 2013 является возможность предварительного просмотра файла в обозревателе решений. Для этого необходимо нажать кнопку "Preview Selected Items" и выбрать файл в окне Solution Explorer. На вкладке обзора появится файл и его содержимое:

Предпросмотр файла в Solution Explorer

Вы можете свободно перемещаться по файлу и редактировать его, как и любой другой файл. Тем не менее, при переходе к другому файлу в Solution Explorer, вкладка Preview заменяется новым файлом. Другими словами, режим предпросмотра служит для быстрого открытия и перемещения по файлам вашего проекта.

Типичные задачи

Кроме удобного способа управления проектами и элементами, окно Solution Explorer содержит динамическое контекстное меню, предоставляющее быстрое выполнение наиболее типичных задач, таких как сборка решений или отдельных проектов, обращение к менеджеру конфигурации сборки и открытие файлов. На рисунках ниже продемонстрировано, как изменяется контекстное меню в зависимости от того, какой элемент был выбран в окне Solution Explorer:

Контекстное меню Solution Explorer для решения

Контекстное меню Solution Explorer для проекта

Контекстное меню Solution Explorer для файла

Если вы еще не включили в свой проект диаграмму классов, щелкните на кнопке View Class Diagram. После этого система автоматически добавит в ваш проект эту диаграмму и все классы. Если проект содержит много классов, то эта процедура может занять довольно много времени и в результате возникнет большая и неудобная диаграмма классов. Намного лучше добавлять диаграммы классов вручную, поскольку в таком случае пользователь сохраняет над ними полный контроль.

Первые пункты в левом и среднем меню связаны с созданием либо всего решения, либо выбранного проекта. В большинстве случаев эффективнее всего выполнить команду Build, поскольку она создает лишь те проекты, которые подверглись изменениям. Однако в некоторых случаях пользователю необходимо выполнить команду Rebuild, которая создает все взаимосвязанные проекты независимо от их состояния. Если вы хотите всего лишь удалить все дополнительные файлы, возникшие в процессе создания решения, то можете выполнить команду Clean. Эта команда может оказаться полезной, если вы хотите упаковать свое решение и послать его кому-нибудь в виде электронного письма и не хотите, чтобы при этом в него попали все временные файлы или файлы вывода, возникшие при создании решения.

Для большинства элементов в окне Solution Explorer первая команда контекстного меню похожа на команду, показанную на рисунке выше: по умолчанию команды Open и Open With. позволяют указать, как будет открыт конкретный элемент. Это особенно полезно при работе с ресурсными XML-файлами. Система Visual Studio 2013 открывает эти файлы, используя встроенный редактор ресурсов, но это не позволяет вам вносить определенные изменения и поддерживать все типы данных, которые вы хотели бы включить в проект (позже будет показано, как можно использовать свои собственные типы данных в файлах ресурсов). Используя команду Open With. можно вызвать редактор XML Editor.

Контекстные меню для узлов Solution, Project и Folder содержат команду Open Folder in Windows Explorer, что позволяет быстро открыть окно проводника Windows для поиска выбранного элемента и не искать в каталогах свое решение.

Добавление проектов и элементов

К основным действиям, выполняемым в окне Solution Explorer, относятся добавление, удаление и переименование проектов и элементов. Для того чтобы добавить новый проект в существующее решение, следует выполнить команду Add --> New Project в контекстном меню, связанном с узлом Solution. В этом случае откроется диалоговое окно, показанное на рисунке ниже, которое с небольшими изменениями унаследовано от предыдущей версии системы Visual Studio. Теперь шаблоны проектов можно сортировать и искать.

Добавление проекта в решение в Visual Studio

Панель, показанная на рисунке, справа, содержит информацию о выбранном проекте, например его тип и описание. В иерархии Installed, появляющейся в левой части диалогового окна Add New Project, шаблоны в первую очередь упорядочены по языкам, а затем по технологиям. Среди шаблонов прежде всего следует выделить типы Office, позволяющие создавать как приложение, так и надстройки для документов, как это принято в большинстве приложений подобного рода. Хотя надстройки Office по-прежнему используют набор инструментов Visual Studio Tools for Office (VSTO), теперь он встроен в систему Visual Studio и не требует отдельной инсталляции.

Предусмотрены также закладки Recent и Online. Шаблоны Online можно сортировать и искать точно так же, как Installed, хотя критерии сортировки для них являются более широкими и включают в себя дату создания, рейтинги и частоту загрузки.

При открытии существующих решений или проектов в системе Visual Studio 2013 они проходят все этапы работы с мастером обновлений (upgrade wizard), в ходе которых в файлы проектов и решений вносятся небольшие изменения. К сожалению эти небольшие изменения связаны с внедрением дополнительных свойств, которые разрушают существующий процесс сборки, если вы используете предыдущую версию системы сборки проектов MSBuild. По этой причине вы будете вынуждены перевести всю свою команду разработчиков на версию Visual Studio 2013.

Одной из наиболее неудачных и плохо понимаемых особенностей системы Visual Studio является концепция проекта Web Site. Этот проект отличается от проекта Web Application, который можно добавить с помощью диалогового окна Add --> New Project. Для того чтобы добавить проект Web Site, необходимо выполнить команду Add --> Web Site в контекстном меню, связанном с узлом Solution. Данная команда открывает диалоговое окно, похожее на то, которое показано на рисунке ниже. В этом окне можно выбрать тип создаваемого веб-проекта. В большинстве ситуаций при этом просто определяется тип создаваемого в проекте элемента, заданный по умолчанию.

Создание проекта Web Site в Visual Studio

Если вы работаете с одним или несколькими проектами, то сначала должны добавить элементы. Для этого выполните команду Add в контекстном меню, которое связано с узлом проекта в окне Solution Explorer. Первое подменю New Item запускает диалоговое окно Add New Item, как показано на рисунке ниже:

Добавление новых элементов в проект

Подобно диалоговым окнам New Project и New Web Site, диалоговое окно Add New Item подверглось "косметической операции". Кроме перечисления только тех шаблонных элементов, которые являются релевантными выбранному проекту, это диалоговое окно позволяет искать установленные шаблоны, а также выходить в режим онлайн для поиска шаблонов, созданных другими.

Возвращаясь к контекстному меню Add, вы заметите большое количество заранее определенных сокращенных команд, таких как User Control и Class. Они делают немного больше, чем простой пропуск стадии поиска подходящего шаблона в диалоговом окне Add New Item. Это диалоговое окно по-прежнему открыто, поскольку вы должны задать имя создаваемого элемента.

Важно понимать, что вы добавляете в проект элементы, а не файлы. Хотя многие шаблоны содержат только один файл, некоторые команды, например Window или User Control, добавят в ваш проект несколько новых файлов.

Добавление ссылок

Выпуская новые технологии разработки программного обеспечения, их авторы каждый раз обещают более удобное повторное использование кода, но в действительности лишь некоторые из них выполняют данное обещание. Один из способов, с помощью которого Visual Studio 2013 поддерживает повторное использование компонентов, основан на ссылках проекта.

Диалоговое окно Add Reference для добавления ссылок на сборки в проект

В старых версиях системы Visual Studio это диалоговое окно загружалось чрезвычайно медленно. Если компонент, который вам необходим, не указан в списке, выберите закладку Browse, позволяющую найти файл, содержащий искомые компоненты, непосредственно в файловой системе. Если вы заблаговременно загрузили список проектов в ваше решение, представили его как закладку по умолчанию и теперь неторопливо загружаете содержание для остальных закладок, то это диалоговое окно откроется на экране почти мгновенно.

Как и в других проектно-ориентированных средах разработки, начиная с первых версий среды VB, вы можете добавлять в проект ссылки, а не скомпилированные двоичные компоненты. Преимущество этой модели состоит в том, что теперь легче выполнять отладку компонента, на который указывает ссылка, и вы сможете гарантированно работать только с самыми последними версиями всех компонентов, хотя в больших решениях эта процедура может оказаться слишком неповоротливой.

Если ваше решение состоит из многих проектов (как правило, крупным считается решение, состоящее более чём из двадцати проектов), то можете разделить его на несколько решений, соответствующих разным подмножествам проектов. В этом случае вы обогатите свой опыт отладки целого приложения и одновременно повысите производительность системы Visual Studio на этапах загрузки и построения решения. В качестве альтернативы можете создать разные конфигурации построения решения, чтобы создать подмножество проектов.

Добавление ссылок на службы

Другой тип ссылок, который обслуживает проводник Solution Explorer, называется ссылками на службу (service references). В предыдущих версиях системы Visual Studio они назывались веб-ссылками, но с появлением программной модели Windows Communication Foundation (WCF) в систему Visual Studio была включена более общая команда меню Add Service Reference. Она открывает диалоговое окно Add Service Reference, показанное на рисунке ниже. В данном примере использована возможность открывать выпадающее меню с помощью кнопки Discover, чтобы просмотреть список Services в решении.

Добавление ссылки на службу в Visual Studio

В левом нижнем углу на рисунке показана кнопка Advanced. Диалоговое окно Service Reference Settings, которое открывается после щелчка на этой кнопке, позволяет вам указать, какие типы считаются частью ссылки на службу. По умолчанию считается, что все локальные системные типы соответствуют типам, опубликованным службой. Если это условие не выполняется, то уточните значения в области Data Туре, которая является частью этого диалогового окна. В левом нижнем углу диалогового окна Service Reference Settings расположена кнопка Add Web Reference, позволяющая добавлять в решение более привычные веб-ссылки. Это может оказаться важным, если вы ограничены в ресурсах или пытаетесь поддерживать работу в нескольких системах.


Напишите в какой программной среде лучше.
И подскажите какие компоненты надо для этого использовать.
У меня до этого со сторонними компонентами в C++ Builder 6 получился вот такой проводник

Потом не получилось так же сделать. И к тому же в нем нельзя было выделить несколько файлов сразу и скопировать их по путёвому. Абсолютно в любой современной среде для написания Windows-программ есть все необходимые компоненты.
Скажу насчет самой продвинутой из них, а именно - MS Visual Studio.
Не важно какой версии. Даже в версиях 15ти-летней давности есть компоненты Listview и Treeview.
Как я понял вам принципиально не нравится C++. Это не проблема - эти стандартные компоненты
для любой современной (и прошловековых) систем разработок под Windows. [ссылка заблокирована по решению администрации проекта]
Удачи в нелегком и кропотливом программерском деле! Не парься лучше. Ты точно лучше нынешних не напишешь ) А мне и не нужно лучше. Мне нужно проще и по своему.
Обратите внимание на мою программу, которую я создал. В нём нет ничего лишнего: не запутанных меню, каких-то тулбаров и прочей навороченности, которая мне не нужна. JohnR Гуру (2506) выделить несколько файлов - за это отвечает окно со списком файлов которое вы добавили в билдере. поклацайте свойства и найдите там что то типа MultiSelect или Множественное выделение. если нет там такого - ищите другие контроллы. Вы не сформулировали никаких критериев оценки разработки. Как народ ответит, если сравнивать не с чем? А разве скриншот не видно?
По скриншоту и некоторому описанию, что я дал неужели нельзя написать среду, где это проще сделать и какие компоненты использовать.

Картинку видно. Непонятно, что вы хотели показать :).
Приведённые на картинке окна достаточно стандартны для Windows. Что в них увидеть необычное? Все элементы стандартные.
Требования к программе в целом не приведены.
Функционал не описан.
Интерфейс пользователя не оговорён.

Ну, и всё остальное, что предусмотрено стандартами при разработке программ.

И ещё непонятно, вы хотите воссоздать такой Проводник, или хотите сделать лучше?

"неужели нельзя написать среду, где это проще сделать"
Если это так просто, то вы самостоятельно должны были справится.

В Delphi 7 есть компоненты ShellComboBox1 и ShellListView1 - помогут создать проводник за 2 минуты

Подскажи как мне выделять мышкой сразу несколько объектов, копировать и т.д

Читайте также: