Bonjour,
J'aimerais savoir ou l'utilisateur d'un pc a installé EasyPHP. Comment puis-je faire?
Merci d'avance.
Version imprimable
Bonjour,
J'aimerais savoir ou l'utilisateur d'un pc a installé EasyPHP. Comment puis-je faire?
Merci d'avance.
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
Je vais poser une question bête :oops: !
Je peux trouver le chemin dans la base de registre?
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équi a pour valeur de Path C:\Program Files\MSN Messenger\Citation:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSNMSGR.EXE
(chez moi)
Donc, tu peux commencer par vérifier cela
Bon je suis vraiment à la masse mais je n'arrive pas à afficher la valeur:cry: !
J'ai fait :
Mais j'arrive pas à faire un affichage correct de return_value.Code:
1
2 RegQueryValueEx( hKey, "Desktop", NULL, &type, (unsigned char *)return_value, &size );
Désolée!!!
elle existe la clé dans la BDR ?
si oui, laquelle est-ce, et le code complet ?
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:
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)));
ce test fonctionne chez moi
Code:
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);
Chez moi aussi ton test marche niquel mais quand j'essaye avec ma propre clé sa marche plus.
:cry: Il le fait exprés pour m'embêter!!
:roll: Désolée, c'est dur le lundi matin!
Bon je vais essayer de voir quel est le problème.
peut-on voir le code complet ? clé incluses
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!
Oups j'avais pas vu que j'avais oublié une partie du code!
Voilà! Merci pour ton aide!Code:
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; }
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
Elle existe chez moi mais elle ne me renvoie pas son chemin. Je passe donc au plan B!