Bonjour je voudrai savoir est il possible de modifie le registre en c ?
merci @++
Version imprimable
Bonjour je voudrai savoir est il possible de modifie le registre en c ?
merci @++
merci j'ai deja vu sa et j'ai vraiment du mal a comprendre auriez vous un exemple de modification de cle pour que je comprenne mieu merci
@++
Salut quand je compile ce code:
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
30
31
32
33 bool SetRunAppWithExtension(const char *szAppName, const char *szLibApp, const char *szCommandLine, const char *szExtName) { HKEY hKey=NULL; long ret; // Creation de la racine szAppName if(RegCreateKey(HKEY_CLASSES_ROOT, szAppName, &hKey)!=ERROR_SUCCESS) return false; if(RegSetValue(hKey, "", REG_SZ,szLibApp, NULL)!=ERROR_SUCCESS) { RegCloseKey(hKey); return false; } RegCloseKey(hKey); // création de l'entrée pour l'extension szExtname associée à szAppName if((ret=RegCreateKey(HKEY_CLASSES_ROOT, szExtName,&hKey))==ERROR_SUCCESS) ret=RegSetValue(hKey, "", REG_SZ, szAppName,NULL); else { RegCloseKey(hKey); return false; } RegCloseKey(hKey); // fixe la ligne de commande pour szAppName if((ret = RegCreateKey(HKEY_CLASSES_ROOT, szAppName,&hKey))==ERROR_SUCCESS) ret = RegSetValue(hKey, "shell\\open\\command", REG_SZ, szCommandLine, MAX_PATH); if(ret==ERROR_SUCCESS) RegCloseKey(hKey); return (ret==ERROR_SUCCESS); }
le compilateur me revoi un tas d'erreur donc je voudrai savoir y a t-il un include particulier a fair ??
merci
Code:
1
2 #include "windows.h"
merci j'ai encore une erreur
a cette ligne:
if(RegSetValue(hKey, "", REG_SZ,szLibApp, NULL)!=ERROR_SUCCESS)
voici l'erreur: warning: passing NULL used for non-pointer converting 5 of `LONG RegSetValueA(HKEY__*, const CHAR*, DWORD, const CHAR*, DWORD)'
merci de ton aide @++
Avant de manipuler l'API WIN32 en C il est bon de connaitre le C non?
En effet ........
http://c.developpez.com/cours/
Salut,
je ne connais pas du tout l'api Windows mais j'ai essayé de créer quelquechose à partir des exemples:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <windows.h> #include <cstdio> int main() { HKEY hKey=NULL; if(RegCreateKey(HKEY_CURRENT_USER, "Software\\VB and VBA Program Settings\\Netbattle\\Script Values", &hKey)!=ERROR_SUCCESS) return false; if(RegSetValue(hKey, "aaa", REG_SZ,"abc", 0)!=ERROR_SUCCESS) { RegCloseKey(hKey); return 1; } return 0; }
Malheureusement l'appel à RegSetValue ne marche pas comme je veux:
J'aimerais, au lieu de créer un dossier nommé "aaa", créer une valeur nommée "aaa" et ayant pour contenu "abc".
De plus, je ne sais pas à quoi sert le dernier argument de cette fonction.
Un exemple me suffit amplement, je ne demande que la ligne à mettre à la place de RegSetValue.
Merci
Il faut utiliser la fonction RegSetValueEx
Merci beaucoup.
Voilà mon code:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <windows.h> #include <cstdio> int main() { HKEY hKey=NULL; // Creation de la racine szAppName if(RegCreateKey(HKEY_CURRENT_USER, "Software\\VB and VBA Program Settings\\Netbattle\\Script Values", &hKey)!=ERROR_SUCCESS) return false; if(RegSetValueEx(hKey, "aaa", 0, REG_SZ, (const BYTE*)"abc", 4)!=ERROR_SUCCESS) { RegCloseKey(hKey); return 1; } return 0; }
Ca marche!