Различные диалоговые окна открытия файлов в Windows XP, Windows Vista и Windows 7 - PullRequest
3 голосов
/ 24 мая 2011

Я хочу разработать приложение, которое работает на всех трех версиях Windows XP, Vista и 7. Приложение позволяет людям выбирать файлы для открытия и позволяет им сохранять файлы после некоторых операций.Каждая из трех версий Windows имеет свой стиль диалоговых окон открытия файлов.Хотя XP использует GetOpenFileName со структурой OPENFILENAME, предлагается использовать «Общий диалог файлов» с Vista и Windows 7. Я могу настроить диалог файлов в предлагаемом стиле для работы с каждой другой версией ОС.Однако я хотел бы убедиться, что мое приложение открывает разные стили диалогового окна для каждой версии.Я не хочу создавать отдельный бинарный файл для разных версий Windows.

Можно ли встроить эту логику в приложение, т. Е. Разрешить ему доступ к собственному диалоговому окну открытия файла в зависимости от операционной системы, в которой запускается приложение.

Спасибо,

Абхиджит

1 Ответ

1 голос
/ 24 мая 2011

Тебе придется сделать что-то вроде

if (isVista())
{
    //Use IFileDialog
}
else
{
    //Use GetOpenFileName
}

Примечание:

Вы не можете сделать это, если будете настраивать диалог; у вас будет для использования старой версии.

Попробуйте отложить загрузку DLL:

...