ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 21 sept. 2004 à 23:58
CreateWindowEx permet de mettre des styles supplémentaires à la fenêtre (des styles 'étendus') par rapport à CreateWindow (en fait CreateWindow est une macro qui appelle CreateWindowEx en passant 0 pour le style supp).
autre exemple, ShellExecuteEx permet de mieux controler le nouveau processus créé:
contenu de la structure SHELLEXECUTEINFO passée en param à ShellExecuteEx :
typedef struct _SHELLEXECUTEINFO { // sei
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpFile;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
// Optional members
LPVOID lpIDList;
LPCSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
HANDLE hIcon;
HANDLE hProcess;
} SHELLEXECUTEINFO, FAR *LPSHELLEXECUTEINFO;
Pour des utilisations simples et standards, ShellExecute est suffisant :
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
En gal, les fonctions en 'Ex' ont été créée pour améliorer une fonction en gardant une compatibilité avec les anciennes (au niveau des paramètres).
Cependant, comme je le disais, pour certaine fonction 'Ex', la fonction initiale est devenue obsolète (cas de SetWindowsHook et SetWindowsHookEx).
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 21 sept. 2004 à 19:15
Celle avec 'Ex' indique que l'on peut mieux paramétrer l'appel à la fonction (plus d'options). Dans certain cas, elle rend même la fonction initiale obsolète. Il faut voir au cas par cas selon les besoins.