Comments 18
Мне одному кажется что подоных статей на хабре уже многовато?
Читал раньше про эти возможности, но как то не сильно догоняю.
Получается, эта возможность будет работать только в Windows 7? А как это отработает в XP — нужно будет какие то проверки на версию Windows в код вставлять? Будет ли при этом этот код работать на XP?
Получается, эта возможность будет работать только в Windows 7? А как это отработает в XP — нужно будет какие то проверки на версию Windows в код вставлять? Будет ли при этом этот код работать на XP?
Судя по всему — это только для Vista и Win7. Ну а учитывая что подавляющее большинство коммерческих приложений будет работать под винХР(меньше требования к железу), что-то я сомневаюсь что кто-то будет особо заморачиваться этими финтифлюшками
это работает только под Win 7
Вот и у меня сложилось такое же впечатление. Что это все хорошо, но не для реального использования сейчас в приложениях.
Пока просто понаблюдаем за шествием семерки.
Пока просто понаблюдаем за шествием семерки.
>>Что это все хорошо, но не для реального использования сейчас в приложениях.
Вполне себе используемо.
Проверка версии ос занимает всего несколько строк, а фишечка хорошая и даже полезная…
Вполне себе используемо.
Проверка версии ос занимает всего несколько строк, а фишечка хорошая и даже полезная…
Total Commander — утилита которая куда уже шире в плане распространения на разных версиях windows и то уже поддерживает фичу win7, которая тут описана (прогресс-бар). Это только один пример из самого распространенного ПО. Так что «реальное использование в приложениях» уже реально.
Нет. это только для Win7. Vista частично поддерживает некоторые вещи из библиотеки, например новые диалоговые окна. Но описывемые здесь примеры только для семерки. Проверка на версию в библиотеке есть — свойство IsPlatformSupported.
Насчет большинства — в XP например появились темы LUNA и Silver (вроде так), которые в Win98 не поддерживались. И народ быстро научился подстраиваться под новый интерфейс XP при помощи манифестов. Думаю, так будет и для Win7. Разработчики будут использовать новые фичи. Например, в Chrome, Total Commander, Far, CDBurning это уже реализовано. И число программ только растет.
Насчет большинства — в XP например появились темы LUNA и Silver (вроде так), которые в Win98 не поддерживались. И народ быстро научился подстраиваться под новый интерфейс XP при помощи манифестов. Думаю, так будет и для Win7. Разработчики будут использовать новые фичи. Например, в Chrome, Total Commander, Far, CDBurning это уже реализовано. И число программ только растет.
Не путайте темы и новые возможности.
1. Поддержка тем в ХР не требует от программиста ничего, кроме подключения манифеста(если компоненты стандартные), причем никаких проверок на версию оси делать не надо.
2. Использование новых фич требует написания кода для них, причем фичи будут работать только вод вин7, которая не особо распространена. А самое главное — полезность многих фич весьма и весьма сомнительна для того чтобы тратить на их реализацию время
1. Поддержка тем в ХР не требует от программиста ничего, кроме подключения манифеста(если компоненты стандартные), причем никаких проверок на версию оси делать не надо.
2. Использование новых фич требует написания кода для них, причем фичи будут работать только вод вин7, которая не особо распространена. А самое главное — полезность многих фич весьма и весьма сомнительна для того чтобы тратить на их реализацию время
Скажу как программист, пишущий на С++ и иногда сталкивающийся с WinAPI.
Работа c новомодными штучками Seven идёт с помощью технологии COM.
Я создаю экземляр объекта:
CoCreateInstance(СLSID_TaskbarList, NULL, CLSCTX_ALL,IID_ITaskbarList3, (void**)&ptl);
Если результат работы этой функции S_OK, значит фичи доступны и можно смело использовать функции SetProgressValue, SetProgressState и т.д.
Т.е. формально никакой проверки версии операционной системы делать не приходится.
Работа c новомодными штучками Seven идёт с помощью технологии COM.
Я создаю экземляр объекта:
CoCreateInstance(СLSID_TaskbarList, NULL, CLSCTX_ALL,IID_ITaskbarList3, (void**)&ptl);
Если результат работы этой функции S_OK, значит фичи доступны и можно смело использовать функции SetProgressValue, SetProgressState и т.д.
Т.е. формально никакой проверки версии операционной системы делать не приходится.
Если использовать по максимуму Shell API из Windows Vista, то многие фичи Windows 7 достанутся просто так. Например, если использовать диалоговое окно IOperationsProgressDialog в Vista (пример такого окна — стандартное окно копирования файлов), то в Windows 7 индикация прогресса операции появится автоматически. Если использовать интерфейсы IFileDialog, IFileOpenDialog и IFileSaveDialog, то в Windows 7 Jump List приложения будет заполняться автоматически.
Проблема в том, что многие разработчики ими не пользуются и пишут свои велосипеды, либо используют морально устаревшие API.
Проблема в том, что многие разработчики ими не пользуются и пишут свои велосипеды, либо используют морально устаревшие API.
Окончание процесса не должно сигнализироваться иконкой. Довольно подробно все интерфейсные фичи в том числе и Win7 описаны в UX Guideline:
msdn.microsoft.com/en-us/library/aa511258.aspx
msdn.microsoft.com/en-us/library/aa511258.aspx
интересная статейка, хороший и наглядный пример :)
Sign up to leave a comment.
Программируем для Windows 7. Индикатор прогресса на панели задач