Подтвердить что ты не робот

Каковы основные различия между программированием для Windows XP и Vista?

С точки зрения разработчика настольных приложений существует ли разница между разработкой для Windows XP и разработкой для Windows Vista?

4b9b3361

Ответ 1

Пользовательский интерфейс

Глядя на Руководство пользователя для пользователей Windows Vista, вы можете увидеть, что они изменили многие элементы пользовательского интерфейса, о которых вы должны знать. Некоторые важные моменты, чтобы принять к сведению:

64-битный

Vista имеет 64-разрядную версию, и хотя XP тоже, ваши пользователи с большей вероятностью будут использовать Vista 64, чем XP 64. Теперь вам нужно иметь дело с:

UAC

Контроль учетных записей пользователей значительно влияет на разрешения по умолчанию, которые имеет ваше приложение при взаимодействии с ОС.

Новые API

Появились новые API-интерфейсы, которые ориентированы на новые методы построения приложений или позволяют создавать новые функции:

монтажники

Поскольку установки могут использовать только обычные среды выполнения, которые они устанавливают после завершения транзакции, пользовательские действия не удастся, если ваша настраиваемая dll-сценарий требует времени выполнения Visual С++ выше CRT-сервера VS 2005 (не SP1).

Ответ 2

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

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

Вообще программирование для Vista такое же, как у XP, это просто новые ограничения учетной записи, о которых вы должны опасаться.

Взгляните на эту страницу в отношении того, что ваше приложение "UAC осведомлено"

http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx

Ответ 3

Может быть, но это осознанный выбор, который вы делаете как разработчик. Вы можете использовать новые материалы Vista, такие как UAC и CommandLinks, Aero и т.д. Но вам не нужно (даже UAC можно запрограммировать - просто не делайте ничего, что требует привилегий администратора). Если вы решите игнорировать все материалы Vista, то между ними нет никакой разницы.

Если вы хотите включить этот материал в свое приложение, это имеет значение. Но я бы сказал, что не огромный. И если вы отвлечете различия (например, напишите свою собственную функцию, которая показывает TaskDialog для Vista, но которая заглушает вход, который вы передаете в MesssageBox на XP), тогда вы будете писать только против своего собственного кода, и различия будут казаться почти ничего.

Кроме того, многие новые вещи Vista (например, UAC или Aero) - это то, о чем вы беспокоитесь один раз, когда вы создаете первую часть функциональности, которая ее использует, заставляют ее работать, а затем никогда не задумываться о ней снова вы разрабатываете приложение.

Ответ 4

На сегодняшний день наиболее болезненная часть перемещения приложения с XP на Vista (с моей точки зрения) связана с многочисленными службами и материалами IPv6, которые используют порты, которые ранее были бесплатными, и работающие с Wireless Provisioning → Native WiFi.

Материал UAC в основном спорный; разработчик приложений очень мало.