IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Demander chemin à l'utilisateur


Sujet :

Windows

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Points : 301
    Points
    301
    Par défaut Demander chemin à l'utilisateur
    Bonjour,

    J'ai besoin de demander à l'utilisateur qu'il saisisse son chemin pour installer une appli.
    Le problème est que j'ai trouvé un prog qui demande le chemin, mais je ne parviens pas à récupérer le chemin sélectionné .
    Est-ce que quelqu'un s'y connait avec WinAPI ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    BROWSEINFO bi;
    			//TCHAR szDir[MAX_PATH];
    		    LPITEMIDLIST pidl;
    		    LPMALLOC pMalloc;
    
    			if (SUCCEEDED(SHGetMalloc(&pMalloc)))
    			{
    				ZeroMemory(&bi,sizeof(bi));
    				bi.hwndOwner = NULL;
    				bi.pszDisplayName = 0;
    				bi.pidlRoot = 0;
    				bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT;
    			    bi.lpfn = BrowseCallbackProc;
    				pidl = SHBrowseForFolder(&bi);
    				
    				if (pidl) 
    				{ 
    					// 
    					// Other code omited 
    					// 
    					//   pMalloc->lpVtbl->Free(pMalloc,pidl); 
    				} 
    				//pMalloc->lpVtbl->Release(pMalloc);
    		    }
    En sachant que j'ai besoin de récupérer ca sous une forme utilisable (char*, string par exemple) .

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Points : 301
    Points
    301
    Par défaut
    voila, ca marche. Cela venait du fait que le projet est en Unicode (ah là là, que de problèmes avec ca )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    static void parcourir()
    {
    	BROWSEINFOA bi;
    	LPITEMIDLIST Item;
    	// Ici, la taille du buffer ne peut pas être passée
    	// buffer est supposé être de taille MAX_PATH (ou plus)
    	// On met tous les champs inutilisés à 0
    	memset(&bi,0,sizeof(BROWSEINFO));
    	// hDlg est le HWND de la boite de dialogue qui demande l'ouverture
    	// Ou NULL si la boite de dialogue n'a pas de fenêtre parent
    	bi.hwndOwner=hDlg;
    	// Contient le répertoire initial ou NULL
    	bi.pidlRoot=NULL;
    	bi.pszDisplayName=bufferRep;
    	bi.lpszTitle="Répertoire courant";
    	bi.ulFlags=NULL;
    	bi.lParam=NULL;
    	Item=SHBrowseForFolderA(&bi);
    	if(Item!=NULL)
    	{
    		// bufferRep contient le nom du répertoire sélectionné
    		SHGetPathFromIDListA(Item,bufferRep);
    		// bufferRep contient le chemin complet de la sélection
    	}
    }
    Et là, ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/09/2007, 10h28
  2. Réponses: 4
    Dernier message: 10/04/2007, 12h34
  3. Récuperer la page demandée par l'utilisateur
    Par theskel dans le forum Apache
    Réponses: 1
    Dernier message: 11/01/2007, 19h42
  4. Comment faire pour exécuter un job coté serveur à la demande de l'utilisateur
    Par DEV-10 dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 13/11/2006, 16h39
  5. [VBA-E] demande à l'utilisateur de sélectionner un range en VBA
    Par pascal123 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/01/2004, 12h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo