2012-05-13 4 views
0

Я бы хотел, чтобы стандартные окна открывались и сохраняли диалоговые окна файлов, однако конкретное приложение, для которого я его использую, является удаленной файловой системой (в принципе, я бы хотел как-то просто предоставить интерфейс IFileSystem для SaveFileDialog и заставить его волшебным образом изменить файлы, которые он видит, предоставляя им). Кто-нибудь знает о полной реализации тех диалогов, которые поддерживают эту функциональность? Есть ли способ сделать это со стандартными диалоговыми окнами C#/windows?C# Open/SaveFileDialog с другой файловой системой

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

Спасибо!

+0

Не можете ли вы получить эту другую файловую систему, распознанную оболочкой, чтобы файлы диалогов работали бесплатно? –

ответ

2

Единственный выбор - реализовать свое собственное расширение пространства имен. Он может быть зарегистрирован как ребенок «Мой компьютер», поэтому он выглядит как другой диск. Остерегайтесь: это утомительная работа и из-за ограничения .NET framework (< 4.0), она должна быть написана на C/C++.

Here - пример.

+0

Я думал, что ограничение до 4.0 было только тем, что вы не могли загружать разные версии CLR бок о бок, так что вы все равно могли бы написать управляемое расширение, но оно застряло как работающее с любым CLR, возможно, уже запущенным в проводнике ? –

+0

Это именно то ограничение, о котором я говорю. – dzendras

+0

Это похоже на то, что я хочу. Хотя в идеале я не мог просматривать ничего, кроме этого, я посмотрю, есть ли способ скрыть все остальное или просто отклонить файлы не из этого местоположения. Спасибо за ссылку! – Trevor

1

Эти классы очень тонкие обертки вокруг вызовов на собственные функции api оболочки Windows. GetOpenFileName() для XP и ранее, интерфейс IFileOpenDialog COM для Vista и выше. Если вы не видите файловую систему в проводнике, эти обертки не будут полезны вообще.

Смежные вопросы