Page 1 sur 1

REGEDIT -> RUNER UN PROGRAMME AU DEMMARAGE

Publié : lun. 10/mai/2004 19:17
par rYn0
Bien le bonjour a tous !!

J'ai parcouru le forum sur ce qui parlait des fonctions permettant de modifier la base registre !!
Je suis tombé sur un exemple utilisant ces fonctions cependant elle ne sont pas commenté et j'ai peur de faire des bétises si je peux le dire ainsi !!
En fait je fais un programme ou l'on peut sélection si le programme peut démarrer au démarrage de windows ou pas !!
Et donc, mon probleme était de comprendre comment bien remplir les fonctions !!

Si quelqu'un pourrait m'éclairer ??

Merci a vous !! :D

Publié : lun. 10/mai/2004 19:49
par nico
Code récupéré sur Pureaera.net:

Code : Tout sélectionner

If RegCreateKeyEx_(#HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, 0, #REG_OPTION_NON_VOLATILE, #KEY_ALL_ACCESS, 0, @NewKey, @KeyInfo) = #ERROR_SUCCESS 
  StringBuffer$ = "A remplacer par le chemin complet de ton programme"
  RegSetValueEx_(NewKey, "Programname", 0, #REG_SZ,  StringBuffer$, Len(StringBuffer$)+1)   ; change "Programname" par le nom de ton programme
  RegCloseKey_(NewKey) 
EndIf

Sinon tu peux utiliser le dossier démarrage (il faut créer un raccourci et le placer dedans)

:)

Publié : lun. 10/mai/2004 20:07
par rYn0
Je te remerci nico, je vais voir maintenant si ça marche !!

:D :D :D

Publié : lun. 10/mai/2004 20:16
par rYn0
Eurf, j'ai des soucis !! Je n'arrive pas a utiliser les fonctions !!

IL me dit : RegCreateKeyEx_ n'est pas une fonction valide !!!

Que dois-je faire ????

Publié : lun. 10/mai/2004 21:01
par nico
Un bon nombre d'API sont déjà pré-déclareé, ce qui évite d'utiliser OpenLibrary pour déclarer la fonction, tu ne doit pas avoir la dernière version de l'éditeur.

Publié : lun. 10/mai/2004 21:10
par nico
Sinon tu fais ça:

Code : Tout sélectionner

If OpenLibrary(0,"advapi32.dll") 
  If CallFunction(0,"RegCreateKeyExA",#HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, 0, #REG_OPTION_NON_VOLATILE, #KEY_ALL_ACCESS, 0, @NewKey, @KeyInfo)= #ERROR_SUCCESS 
    StringBuffer$ = "A remplacer par le chemin complet de ton programme" 
    If CallFunction(0,"RegSetValueExA",NewKey, "Programname", 0, #REG_SZ,  StringBuffer$, Len(StringBuffer$)+1)= #ERROR_SUCCESS   ; change "Programname" par le nom de ton programme  
      If CallFunction(0,"RegCloseKey",NewKey)= #ERROR_SUCCESS 
        MessageRequester("Info","Opération réussie",#PB_MessageRequester_Ok) 
      EndIf 
    EndIf 
  EndIf 
EndIf 
 

Publié : lun. 10/mai/2004 21:18
par nico
J'ai modifié, y avait une erreur! :?

Publié : lun. 10/mai/2004 21:23
par Anonyme2
rYn0 a écrit :Eurf, j'ai des soucis !! Je n'arrive pas a utiliser les fonctions !!

IL me dit : RegCreateKeyEx_ n'est pas une fonction valide !!!

Que dois-je faire ????
Si tu as la version de démo, tu ne pourras pas utiliser les API windows...

Publié : mar. 11/mai/2004 18:09
par rYn0
Non non, j'utilise la version 3.90 mais avec JaPB donc je sais pas !! C'est peut etre a cause de JaPB, nen ? :?:

:(

Publié : mar. 11/mai/2004 19:10
par Flype
non moi ca marche avec pb3.90 et japbe