Fonction ouvrir de windows

Signaler
Messages postés
7
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
22 juin 2005
-
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
-
Je travail sur un prog qui permet de lire des vidéos en utilisant le module média player , et pour choisir la vidéo je dois taper tout le chemin d'accès au fichier . Je voudrai bien que qqu'un m'explique comment faire pour que quand je clic sur un boutton il m'ouvre la fenetre ouvrir de windows et que je puisse récuperer le chemin dans mon edit box !

merci d'avance pour l'aide que vous m'apporterez

6 réponses

Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
regarde du coté de GetOpenFileName
Messages postés
7
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
22 juin 2005

Le probleme est que je ne sais pas comment lancer la fenetre ouvrir .
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
msdn dit :

OPENFILENAME ofn;       // common dialog box structure
char szFile[260];       // buffer for file name
HWND hwnd;              // owner window
HANDLE hf;              // file handle

// Initialize OPENFILENAME
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

// Display the Open dialog box. 

if (GetOpenFileName(&ofn)==TRUE) 
    hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
        0, (LPSECURITY_ATTRIBUTES) NULL,
        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
        (HANDLE) NULL);

Messages postés
7
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
22 juin 2005

merci je vais essayer
Messages postés
7
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
22 juin 2005

bon ben apparement j'y arrive pas parce que la fenetre ne s'ouvre pas ! je précise que j'utilise visual C++ et quant je lance avec un breakpoint il me montre qu'il bloque sur
"if (GetOpenFileName(&ofn)==TRUE) " et donc je ne vois pas la fenetre . Sinon après comment on récupere le chemin d'accès ?
Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
c'est que ca s'est mal initialisé (probablement les parametres de la structure)
pour avoir plus de précisions :
if (GetOpenFileName(&ofn)==TRUE) 
hf = CreateFile(ofn.lpstrFile, GENERIC_READ,0, (LPSECURITY_ATTRIBUTES) NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,(HANDLE) NULL);
else
{
LPVOID lpMsgBuf; 
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, (LPTSTR) &lpMsgBuf, 0, NULL); 
MessageBox(NULL,(LPCTSTR)lpMsgBuf,"",MB_ICONSTOP); 
LocalFree( lpMsgBuf ); // Free the buffer. 



mais je pense qu'en changeant ca, ca devrait aller
char szFile[260]; // buffer for file name
HWND hwnd; // owner window

par (exemple)
char szFile[260]="";
HWND hwnd=NULL;