Il y a bien sûr beaucoup de nouvelles API dont vous devez être conscient pour vous assurer que vous avez les outils dont vous avez besoin. Au-delà, il y a quelques changements à noter.
philosophique change
Une grande partie des anciennes API win32 axées sur les API de type C où les poignées ont été passé autour. De nos jours, la plupart des nouvelles API en cours de développement sont basées sur COM, de sorte qu'il serait utile d'améliorer COM et ATL. Vous pouvez également prendre note du nouveau style d'API si vous écrivez vos propres bibliothèques, ce qui est un peu plus cohérent et évite des choses comme la notation hongroise.
Remplacements
Généralement, ne pas tenir pour acquis que les méthodes que vous étiez au courant il y a 10 ans sont encore l'état de l'art; ils existent tous, donc on ne vous dira pas nécessairement que vous vous trompez. Vérifiez MSDN pour voir s'il vous renvoie vers quelque chose de mieux, et utilisez le dernier SDK pour obtenir des avertissements de dépréciation pour certaines fonctions. Surtout, assurez-vous que les fonctions de chaîne que vous utilisez sont sécurisées. Plus précisément, une API de 'remplacement' est Direct 2d, qui est une API de style DirectX pour les interfaces utilisateur. Si vous écrivez du code graphique pour Windows 7, vous devriez considérer Direct2d sur GDI, qui a un modèle de programmation compatible, mais très différent, de GDI. Direct 2d peut être redirigé vers Vista. En outre, au lieu d'utiliser le menu de style win32, pensez à utiliser le ruban, qui sera disponible pour Vista ainsi que pour Win7.
Si vous utilisez la bibliothèque de contrôles communs, veillez à utiliser la version 6, et non la valeur par défaut de la version 5.Enfin, assurez-vous de ne pas appeler inutilement des choses qui nécessitent des privilèges d'administrateur, car cela provoquera le contrôle de compte d'utilisateur.
Tout ce que je peux penser pour l'instant.
Peut-être que je n'aurais pas dû poster ceci un week-end. Pas beaucoup de vues. – NoMoreZealots
N'est-ce pas le nom de ce mec Charles Petzold? –
Juste une note que je trouve certaines des nouvelles API peuvent être appelées à partir de C++ mais pas de C, du moins pas sans quelques tracas. 'SHGetKnownFolderPath()' est celui avec lequel je me bats en ce moment. – hippietrail