Ci sono naturalmente molte nuove API di cui dovresti essere a conoscenza per assicurarti di avere gli strumenti necessari. Oltre a ciò, ci sono alcuni cambiamenti da notare.
Philosophical cambia
parti grandi delle vecchie API Win32 API incentrati su C-stile in cui manici sono stati passati in giro. Al giorno d'oggi, molte delle nuove API sviluppate sono basate su COM, quindi sarebbe utile fare un buon lavoro su COM e ATL.
Si potrebbe anche voler prendere nota del nuovo stile API se si scrivono le proprie librerie, che è un po 'più coerente ed evita cose come la notazione ungherese.
Replacements
In generale, non presumere che i metodi si sapeva circa 10 anni fa sono ancora state-of-the-art; esistono ancora, quindi non ti verrà detto necessariamente che stai sbagliando. Controlla MSDN per vedere se ti fa riferimento a qualcosa di meglio, e usa l'ultimo SDK in modo da ricevere avvisi di deprecazione per alcune funzioni. In particolare, assicurati che le funzioni di stringa che stai utilizzando siano sicure.
In particolare, un'API di "sostituzione" è Direct 2d, che è un'API in stile DirectX per le interfacce utente. Se stai scrivendo il codice grafico per Windows 7, dovresti considerare Direct2d su GDI, che ha un modello di programmazione compatibile, ma molto diverso da GDI. Direct 2d può essere riportato su Vista.
Inoltre, anziché utilizzare il menu in stile win32, è consigliabile utilizzare la barra multifunzione, che sarà disponibile sia per Vista che per Win7.
Se si utilizza la libreria di controlli comuni, assicurarsi di utilizzare v6, non il valore predefinito di v5.
Infine, assicurati di non chiamare inutilmente le cose che richiedono i privilegi di amministratore, poiché ciò richiederà UAC.
Tutto quello a cui riesco a pensare per ora.
Forse non avrei dovuto postare questo in un fine settimana. Non molti punti di vista – NoMoreZealots
Non si chiama Charles Petzold? –
Solo una nota che sto scoprendo che alcune delle nuove API possono essere chiamate da C++ ma non da C, almeno non senza problemi. 'SHGetKnownFolderPath()' è quello con cui sto lottando al momento. – hippietrail