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

Visual C++ Discussion :

[Projet Win32]Trouver le chemin du logiciel


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut [Projet Win32]Trouver le chemin du logiciel
    Bonjour,
    J'aimerais savoir ou l'utilisateur d'un pc a installé EasyPHP. Comment puis-je faire?
    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    souvent, il y a une valeur dans la base de registre.
    Sinon, si tu connais le nom de l'exe, tu peux faire une recherche de fichiers sur les disques locaux

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut
    Je vais poser une question bête !
    Je peux trouver le chemin dans la base de registre?

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ca dépend des softs, c'est souvent le cas, mais c'est au programme d'install de le faire

    par ex , pour msn, il y a la clé
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSNMSGR.EXE
    qui a pour valeur de Path C:\Program Files\MSN Messenger\

    (chez moi)

    Donc, tu peux commencer par vérifier cela

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut
    Bon je suis vraiment à la masse mais je n'arrive pas à afficher la valeur !
    J'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RegQueryValueEx( hKey, "Desktop", NULL, &type, (unsigned char *)return_value, &size );
    Mais j'arrive pas à faire un affichage correct de return_value.
    Désolée!!!

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    elle existe la clé dans la BDR ?
    si oui, laquelle est-ce, et le code complet ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut
    Oui elle exsite je le vérifie juste avant. Voici son chemin : "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Management\\ARPCache\\EasyPHP_is1"
    et mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	HKEY hKey;
    	DWORD type, size=255;
    	char return_value[255];
     
    	LONG lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, nom_cle, 0, KEY_QUERY_VALUE, &hKey);
    	RegQueryValueEx( hKey, "Desktop", NULL, &type, (unsigned char *)return_value, &size );
    	AfxMessageBox(CString(return_value, strlen(return_value)));

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ce test fonctionne chez moi
    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
     
    	HKEY hKey = NULL;
    	LONG lResult;
    	DWORD type, size=255;
    	TCHAR return_value[255];
     
    	lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion"), 0, KEY_QUERY_VALUE,&hKey);
    	if (lResult != ERROR_SUCCESS)
    	{
    		DWORD d = GetLastError();
    		return;
    	}
    	lResult = RegQueryValueEx( hKey, TEXT("ProgramFilesDir"), NULL, &type, (LPBYTE)return_value, &size );
    	if ( lResult != ERROR_SUCCESS)
    	{
    		return;
    	}
    	RegCloseKey(hKey);

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut
    Chez moi aussi ton test marche niquel mais quand j'essaye avec ma propre clé sa marche plus.
    Il le fait exprés pour m'embêter!!
    Désolée, c'est dur le lundi matin!
    Bon je vais essayer de voir quel est le problème.

  10. #10
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    peut-on voir le code complet ? clé incluses

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut
    Bon je crois qu'EasyPHP met pas son chemin dans la valeur de la clé. Aprés plusieurs test je n'obtient rien avec Easy tandis que j'obtient des choses avec d'autre clé.
    Je pense que je vais faire autrement. Merci pour tes réponses en tout cas!

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut
    Oups j'avais pas vu que j'avais oublié une partie du code!
    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
     
    CString easy_emp = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Management\\ARPCache\\EasyPHP_is1";
    CleExiste(easy_emp);
     
    CString jai_emp = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\jai_core.jar";
    CleExiste(jai_emp);
     
    bool CleExiste(CString nom_cle)
    {	
    	HKEY hKey = NULL;
    	LONG lResult;
    	DWORD type, size=255;
    	TCHAR return_value[255];
     
    	lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, nom_cle, 0, KEY_QUERY_VALUE,&hKey);
     
    	RegQueryValueEx( hKey, "Path", NULL, &type, (LPBYTE)return_value, &size );
    	AfxMessageBox(CString(return_value, strlen(return_value)));
    	RegCloseKey(hKey);
     
    	if ( lResult != ERROR_SUCCESS) return true;
    	else return false;
    }
    Voilà! Merci pour ton aide!

  13. #13
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    je vois pas de truc trop bizarre
    effectivement, faut etre sur que la clé existe bien dans la BDR, je n'ai pas easy php, je peux pas vérifier

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 110
    Par défaut
    Elle existe chez moi mais elle ne me renvoie pas son chemin. Je passe donc au plan B!

Discussions similaires

  1. Comment trouver le chemin du bureau ou desktop
    Par G.STEVENS dans le forum Windows
    Réponses: 2
    Dernier message: 29/08/2005, 18h21
  2. [API WIN32]Recuperer le chemin de l'exe en cours...
    Par X-K4l1 dans le forum Windows
    Réponses: 1
    Dernier message: 11/08/2005, 23h15
  3. Réponses: 4
    Dernier message: 24/05/2005, 11h34
  4. création dynamique d'objet, projet win32
    Par noinneh dans le forum MFC
    Réponses: 5
    Dernier message: 03/02/2005, 16h07

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