Windows API для VISTA, 7 и вне

Оба очень похожи, но Подрывной "затмение svn поставщик". Я, прежде всего, использую Подрывной из-за нескольких удобных функций:

Группировка истории

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

Отображение соединительной линии, ответвления, и теги

Подрывной принимают значение по умолчанию svn расположение: соединительная линия, ответвления, теги (который можно изменить), поэтому каждый раз, когда Вы хотите отметить или перейти, это - один щелчок, и Вы обеспечиваете название тега или ответвления.

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

Слияние с Подрывным является болью, хотя (не попробовали Subclipse), я никогда не был в состоянии успешно объединиться. Предварительный просмотр слияния является большим, но это никогда не завершало бы слияние, или это будет брать путь к долго. Большую часть времени я завершаю слияние через командную строку без любых проблем.

8
задан jalf 16 September 2009 в 15:00
поделиться

5 ответов

Есть, конечно, много новых API, о которых вам следует знать, чтобы убедиться, что у вас есть необходимые инструменты. Помимо этого, следует отметить некоторые изменения.

Философские изменения
Большая часть старых API-интерфейсов Win32 была сосредоточена на API-интерфейсах в стиле C, в которых передавались дескрипторы. В настоящее время многие из разрабатываемых новых API-интерфейсов основаны на COM, поэтому стоит использовать COM и ATL.

Вы также можете обратить внимание на новый стиль API, если вы пишете свои собственные библиотеки, которые является немного более последовательным и избегает таких вещей, как венгерская нотация.

Замены
Как правило, не предполагайте, что методы, которые вы знали около 10 лет назад, все еще являются самыми современными; они все еще существуют, поэтому вам не обязательно скажут, что вы делаете это неправильно. Проверьте MSDN, чтобы узнать, отсылает ли он вас к чему-то лучшему, и используйте последнюю версию SDK, чтобы получать предупреждения об устаревании некоторых функций. В частности, убедитесь, что строковые функции, которые вы используете, безопасны.

В частности, «заменой» API является Direct 2d, который представляет собой API в стиле DirectX для пользовательского интерфейса. Если вы пишете графический код для Windows 7, вам следует рассмотреть Direct2d через GDI, модель программирования которого совместима с GDI, но сильно отличается от нее. Direct 2d может быть перенесен обратно в Vista.

Кроме того, вместо использования меню в стиле Win32 рассмотрите возможность использования ленты, которая будет доступна как для Vista, так и для Win7.

Если вы используете библиотеку общих элементов управления , убедитесь, что вы используете v6, а не v5 по умолчанию.

Наконец, убедитесь, что вы не вызываете без надобности вещи, требующие прав администратора, так как это вызовет UAC.

Все, что я могу сейчас придумать.

14
ответ дан 5 December 2019 в 07:59
поделиться

Для каждого есть новые API.

Есть дополнительные знания, хотя они могут и не потребоваться, вы должны быть знакомы с разработкой 64-битных и многопоточных приложений, чтобы назвать несколько . Конструкции более высокого уровня, такие как Direct2D, .NET и т. Д. И т. Д., Требуют корректировки знаний, а не обязательно API нижнего уровня.

3
ответ дан 5 December 2019 в 07:59
поделиться

Ничего особенного. Старый материал в значительной степени работает так же, как и раньше. Есть несколько новых API, но ничего страшного (и следование старым соглашениям Win32). Так что все, что вы знаете по Vista, по-прежнему верно и для Win 7.

Теперь есть несколько новых рекомендаций относительно взаимодействия с пользователем (сенсорный экран, библиотеки (элементы взаимодействия с пользователем, а не элементы программирования)), но стиль API остается тем же.

1
ответ дан 5 December 2019 в 07:59
поделиться

У вас есть выбор: традиционный C / C ++ или использование более новых языков .Net framework (C # / VB.net / Python.net и другие). Для последнего знание фреймворка важнее реализации. Вы изолированы (в целом) от указателей, потоковой передачи, буферов и управления памятью, и, кроме нескольких различий в синтаксисе, если вы знаете, что фреймворк переносится между языками (т.е. вы можете легко освоить программирование на VB.net, если вы специалист по C #, поскольку большинство ваших приложений будут вызывать части фреймворка). Вы можете создать класс на C #, использовать его в программе VB.net и ссылаться на тот же класс, например, из командлета Powershell.

Интерфейсы C старого стиля все еще существуют для Win32, но если у вас нет особой необходимости их использовать (например, устаревший код, Direct X, драйверы устройств), я бы посмотрел на новые вещи. Что касается таких вещей, как WPF, то нет даже прямого пути через неуправляемый код - вам придется перепрыгивать через всевозможные уродливые обручи взаимодействия.

2
ответ дан 5 December 2019 в 07:59
поделиться

Уровни целостности тоже полезны для изучения. В зависимости от характера вашего приложения, если оно пытается сделать что-либо, связанное с другими процессами, запущенными в ОС, важно знать об этом. Эта технология предотвращает взаимодействие процессов на более низком уровне целостности с процессами, работающими на более высоком уровне целостности. Это включает в себя обмен сообщениями, перехватчики, внедрение DLL, дескрипторы открытия и многие другие методы.

1
ответ дан 5 December 2019 в 07:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: