Outils pour utilisateurs

Outils du site


programmation_windows_64bit
no way to compare when less than two revisions

Différences

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


programmation_windows_64bit [2007/03/31 16:57] (Version actuelle) – créée thierry
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 16:57 de thierry