Outils pour utilisateurs

Outils du site


programmation_windows_64bit

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

programmation_windows_64bit [2007/03/31 18:57] (Version actuelle)
thierry créée
Ligne 1: Ligne 1:
 +====== Windoz ======
 +
 +===== Windoz 64 bit =====
 +
 +Déjà, j'ai peur.
 +
 +==== Introduc ====
 +
 +Liens:
 +
 +  * [[http://​www.microsoft.com/​france/​msdn/​windows/​windows64/​Notions_fondamentales.mspx|Notions fondamentales]]
 +
 +En résumé:
 +
 +   ​Installer Visual Studio 2005
 +   Build > Configuration Manager > Solution Platform "​New"​ > x64
 +
 +Ensuite, bien regarder dans la **Property Pages** et changer:
 +
 +   ​.\Release/​ (ou .\Debug/) en .\$(PlatformName)\$(ConfigurationName)/​
 +
 +Il n'est pas necessaire de remplacer les $(IntDir) ou $(OutDir) (et autres), si on applique bien les changements dés les "​propriétés générales"​.
 +
 +Le truc c'est que:
 +
 +   ​$(PlatformName) = "​Win32"​ ou "​x64"​
 +   ​$(ConfigurationName) = "​Release"​ ou "​Debug"​
 +
 +Lorsqu'​on '​Buildera'​ le projet, on aura des sous repertoires ainsi
 +
 +   ​Mon_Projet/​PlatformName/​ConfigurationName
 +
 +//On se demande pourquoi ce n'est pas comme cela par defaut...//
 +
 +==== Win32 vers x64 ====
 +
 +=== Le GUI ===
 +
 +| Win32 | x64 |
 +| SetClassLong | SetClassLongPtr |
 +| GetClassLong | GetClassLongPtr |
 +| SetWindowLong | SetWindowLongPtr |
 +| GetWindowLong | GetWindowLongPtr |
 +
 +| Win32 | x64 |
 +| GCL_MENUNAME | GCLP_MENUNAME |
 +| GCL_HBRBACKGROUND | GCLP_... |
 +| GCL_HCURSOR | GCLP_... |
 +| GCL_HICON | GCLP_... |
 +| GCL_HMODULE | GCLP_... |
 +| GCL_WNDPROC | GCLP_... |
 +| GCL_HICONSM | GCLP_... |
 +
 +| Win32 | x64 |
 +| DWL_MSGRESULT | DWLP_MSGRESULT |
 +| DWL_DLGPROC | DWLP_... |
 +| DWL_USER | DWLP_... |
 +
 +Les détails sont dans
 +
 +winuser.h ...
 +
 +Exemple:
 +
 +   #​define WINPORT
 +
 +   #​ifdef WINPORT
 +      if ( NULL != (pInfo = (INFO*)GetWindowLongPtr(hwnd,​DWLP_USER)) )
 +   #else
 +      if ( NULL != (pInfo = (INFO*)GetWindowLong(hwnd,​DWL_USER)) )
 +   #​endif
 +
 +Autre truc: Parfois **BOOL** devient **INT_PTR** ...
 +
 +Exemple:
 +
 +   #​ifdef WINPORT
 +   ​static INT_PTR CALLBACK MonDialog( HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam )
 +   #else
 +   ​static BOOL CALLBACK MonDialog( HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam )
 +   #​endif
 +
 +Les exemples sont donnés avec "#​ifdef WINPORT"​ pour plus de lisibilité,​ mais ça fonctionne dans toutes les version Windows que j'ai testé.
 +
 +C'est extra...
 +
 +==== Desactiver le "​Driver Signing"​ ====
 +
 +Demarrer **cmd** en tant qu'​Administrateur et taper:
 +
 +   ​Bcdedit.exe -set nointegritychecks OFF
 +
 +Et reboot ?
 +
 +==== Changer la description afficher au boot (menu choice) ====
 +
 +Dans **cmd** demarrer en tant qu'​Administrateur:​
 +
 +   ​bcdedit /set {current} description "​Windows Vista x64"
 +
 +Et hop
 +
 +==== Rebooter vite en ligne de commande ====
 +
 +Dans **cmd**:
 +
 +   ​shutdown -t 0 -r
 +
 +Et zoou
  
programmation_windows_64bit.txt · Dernière modification: 2007/03/31 18:57 par thierry