Как использовать C # для открытия проводника Windows в «режиме выбора / открытия файла»

#c# #unity3d

#c# #unity3d

Вопрос:

Я использую Unity с C #.

Я создаю Asset Maker для игры, над которой я работаю. Я хочу использовать проводник Windows для просмотра и выбора файла, который будет загружен в программу. Чтобы быть более конкретным, я хочу нажать кнопку в unity, которая запустит метод, который откроет проводник Windows и позволит пользователю просматривать и выбирать изображение. Этот файл изображения будет скопирован и помещен в каталог внутри папки assets / resources в unity.

Я не уверен, какие методы использовать для достижения этой цели, но вот где я нахожусь:

  System.Diagnostics.Process p = new System.Diagnostics.Process();
 p.StartInfo = new System.Diagnostics.ProcessStartInfo("explorer.exe");
 p.StartInfo.Arguments = "";
 p.Start();
 

Я чувствую, что мне нужно что-то добавить в «p.StartInfor.Свойство «Аргументы», но я могу найти в Интернете что-нибудь достаточно хорошее об этом, кроме таких вещей, как «/ select»…и т.д., что не позволяет пользователю «Просматривать». Или может быть что-то совершенно другое, что мне нужно использовать. Пожалуйста, помогите! Спасибо!

Комментарии:

1. Может быть, OpenFilePanel ? В общем, вы не запускаете Explorer, вы открываете Open File Dialog . Множество просмотров различного качества найдено при поиске по этим словам Unity .

2. @Damien_The_Unbeliever Это именно то, что я искал, спасибо вам оооочень большое!!!

Ответ №1:

Вы можете использовать «/ select» (без кавычек) в качестве аргумента Полный код

 System.Diagnostics.Process p = new System.Diagnostics.Process();
 p.StartInfo = new System.Diagnostics.ProcessStartInfo("explorer.exe");
 p.StartInfo.Arguments = "select";
 p.Start();
 
 

Комментарии:

1. Как я уже говорил в своем вопросе, «/ select» — это не то, что я ищу, поскольку он не делает то, что мне нужно. На самом деле, это ничем не отличается от простого оставления аргументов пустыми…