ok c'est fait (merci)
malheureusement mon problème n'est toujours pas résolu :( -> message afficher "CDERR_STRUCTSIZE"
voilà mon code (en entier):
//---------------------------------------------------------------------------
#include <windows.h>
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
PRINTDLG pd;
HWND hwnd;
hwnd = 0;
// Initialize PRINTDLG
ZeroMemory(&pd, sizeof(pd));
pd.lStructSize = sizeof(pd);
pd.hwndOwner = hwnd;
pd.hDevMode = NULL;
pd.hDevNames = NULL;
pd.Flags = PD_RETURNIC;
pd.nCopies = 1;
pd.nFromPage = 1;
pd.nToPage = 1;
pd.nMinPage = 1;
pd.nMaxPage = 1;
PrintDlg(&pd);
DWORD dw = CommDlgExtendedError();
switch(dw)
{
case CDERR_DIALOGFAILURE : MessageBox(NULL, "CDERR_DIALOGFAILURE", "error", MB_OK); break;
case CDERR_FINDRESFAILURE : MessageBox(NULL, "CDERR_FINDRESFAILURE", "error", MB_OK); break;
case CDERR_INITIALIZATION : MessageBox(NULL, "CDERR_INITIALIZATION", "error", MB_OK); break;
case CDERR_LOADRESFAILURE : MessageBox(NULL, "CDERR_LOADRESFAILURE", "error", MB_OK); break;
case CDERR_LOADSTRFAILURE : MessageBox(NULL, "CDERR_LOADSTRFAILURE", "error", MB_OK); break;
case CDERR_LOCKRESFAILURE : MessageBox(NULL, "CDERR_LOCKRESFAILURE", "error", MB_OK); break;
case CDERR_MEMALLOCFAILURE : MessageBox(NULL, "CDERR_MEMALLOCFAILURE", "error", MB_OK); break;
case CDERR_MEMLOCKFAILURE : MessageBox(NULL, "CDERR_MEMLOCKFAILURE", "error", MB_OK); break;
case CDERR_NOHINSTANCE : MessageBox(NULL, "CDERR_NOHINSTANCE", "error", MB_OK); break;
case CDERR_NOHOOK : MessageBox(NULL, "CDERR_NOHOOK", "error", MB_OK); break;
case CDERR_NOTEMPLATE : MessageBox(NULL, "CDERR_NOTEMPLATE", "error", MB_OK); break;
case CDERR_REGISTERMSGFAIL : MessageBox(NULL, "CDERR_REGISTERMSGFAIL", "error", MB_OK); break;
case CDERR_STRUCTSIZE : MessageBox(NULL, "CDERR_STRUCTSIZE", "error", MB_OK); break;
}
return 0;
}
//---------------------------------------------------------------------------
huw 