GetOpenFileName sur windows 7 x64
Bonjour,
ca fait deux jours que je me penche sur le problème de GetOpenFileName sous Visual Studio wundows 7 x64.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
BOOL ShowOpenFileDlgImg(HWND hwnd, TCHAR *pstrFileName, TCHAR *pstrTitleName)
{
TCHAR *szFilter = "JPEG Files (*.jpg)\0*.jpg\0PNG Files (*.png)\0*.png\0GIF Files (*.gif)\0*.gif\0BMP Files (*.bmp)\0*.bmp\0\0";
OPENFILENAME ofn; // = { sizeof(ofn) };
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.hInstance = GetModuleHandle(0);
ofn.lpstrFilter = szFilter;
ofn.lpstrFile = pstrFileName;
pstrFileName[0]='\0';
ofn.lpstrFileTitle = pstrTitleName;
ofn.nFilterIndex = 1;
ofn.nMaxFile = _MAX_PATH;
ofn.nMaxFileTitle = _MAX_FNAME + _MAX_EXT;
// flags to control appearance of open-file dialog
ofn.Flags = OFN_EXPLORER |
OFN_ENABLESIZING |
OFN_PATHMUSTEXIST |
OFN_FILEMUSTEXIST;
return GetOpenFileName(&ofn);
} |
j'ouvre une boite de sélection de fichier images pour pouvoir l'afficher sur une fenetre mais j'ai tout essayé et ca ne fonctionne pas. en faisant des recherche j'ai pu constaté que beaucoup de gens avait se problème mais aucune solution n'est donné.
si je code en dur le nom du fichier pstrFileName a l'aide d'un strcopy_s et que je commente tout le code, ca fonctionne.
donc c'est bien au niveau de cette fonction, pourtant tout est bien codé.
J'ai essayé de mettre hwndOwner a NULL, j'ai tenté ofn.lpstrFile[0]='\0'.
Est ce que quelqu'un à déjà résolut ce problème ?
Merci de votre aide.