Demarrage

drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005 - 25 mai 2004 à 19:12
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 27 mai 2004 à 20:50
salut je voudrai savoir commen faire pour que lon puisse mettre le logiciel au demarrage de windows
comme ds presque tout les logiciel tu coche une case et le logi se mes obligatoirement dans run
jarive a crée des valeur binaire etc
mes pas de chaine
bon alors si quelqu'un c comment faire un peu comme pour les logiciel controuve ben merci de me repondre

17 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
25 mai 2004 à 21:49
Si tu sais créer une valeur de type binaire dasn la registry, je ne vois pas ou est le pb pour créer une valeur de Type chaine (REG_SZ)

Christophe R.
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
25 mai 2004 à 23:15
C ben vrai ça, je me permet de préciser la pensée de Christophe R., si tu sais utiliser les apis :
RegCreateKey
RegSetValueEx
RegCloseKey

tu as la réponse à ta question.

Allez, un ex quand même :

Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Public Sub SaveString(hKey As Long, strPath As String, strValue As String, strdata As String)
Dim Keyhand As Long, r As Long

r = RegCreateKey(hKey, strPath, Keyhand)
r = RegSetValueEx(Keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))
r = RegCloseKey(Keyhand)

End Sub

Sub Inscription_Base_Registre
Dim strPath As String
Dim strValue As String

strPath = "Software\Microsoft\Windows\CurrentVersion\Run"
strValue = "Nom de ton prog"


'si Win_98
SaveString HKEY_LOCAL_MACHINE, strPath, strValue, Chemin_De_Ton_Prog

'si Win_XP
SaveString HKEY_CURRENT_USER, strPath, strValue, Chemin_De_Ton_Prog

end sub

Chemin_De_Ton_Prog c par ex "c:\program files\....\prog.exe"

Cordialement

CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
25 mai 2004 à 23:17
Oups, g oublié

Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002

Cordialement

CanisLupus
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
26 mai 2004 à 09:45
ou la canislupus
tu fai conpliquer pour un debutant t sur que il i a pas moin compliquer moi se que je ve c mettre un checkbox si on le coche sa mes le logi au demarrage mes se que tu a mis toi je comprend pas si tu pourais mettre des explication sa serre super cool

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
26 mai 2004 à 09:47
Si tu veux écrire en registry, tu n'as pas trop le choix, il faudrat que tu utilises le code de CanisLupus.
Tu a dis que tu savais écrire une valeur binaire, alors ? je vois pas bien comment si tu n'as pas un équivalent à son code ??

Christophe R.
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
26 mai 2004 à 10:06
dsl mes je ne comprend pas se qu'il a ecrit canislupus
si tu pourai m'aider a m'espliquer sa serre simpa pck je comprend pas se qu'il a fai
merci
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
26 mai 2004 à 10:06
dsl mes je ne comprend pas se qu'il a ecrit canislupus
si tu pourai m'aider a m'espliquer sa serre simpa pck je comprend pas se qu'il a fai
merci
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
26 mai 2004 à 10:06
dsl mes je ne comprend pas se qu'il a ecrit canislupus
si tu pourai m'aider a m'espliquer sa serre simpa pck je comprend pas se qu'il a fai
merci
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
26 mai 2004 à 10:06
dsl mes je ne comprend pas se qu'il a ecrit canislupus
si tu pourai m'aider a m'espliquer sa serre simpa pck je comprend pas se qu'il a fai
merci
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
26 mai 2004 à 10:09
dsl g pas fais espres d'envoyer tout sa
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
26 mai 2004 à 19:48
Mille excuses <drpsico>, je n'ai pas pu me connecter plus tôt pour te répondre.

Comme tu disais savoir créer des valeurs binaires dans la registry, je pensais que tu pourrais comprendre ce bout de code.

Bon, quelques expliques :

d'abord :
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002

c les constantes qui représentent HKEY_CURRENT_USER et HKEY_LOCAL_MACHINE dans la base de registre.

ensuite :

declare RegCreateKey .............
declare RegSetValueEx ..............
declare RegCloseKey .................

sont des API contenues dans la library advapi.dll qui est présente dans toutes les versions de windows.

la 1ère sert à créer une valeur chaîne dans la registry, la 2ème sert à déterminer la valeur contenue dans cette clé et la 3ème sert à refermer la clé créée pour faire plus propre.

C un peu comme si tu ouvrais un recordset, que tu fais un addnew ou un edit tu écrit ta valeur suivie d'un update et quand tu as fini,, un close.

Sub SaveString ........... regroupe les appels à ces apis, ça simplifie les choses si on l'appeler +sieurs fois ds un même prog.

Sub Inscription_Base_Registre ...........

c là où tu défini où tu veux écrire ds la registry et ce que tu veux y mettre.

"Software\Microsoft\Windows\CurrentVersion\Run" c un des endroits où se logent les prog qui doivent s'exécuter au démarrage.

strPath = cet emplacement
strValue = le nom que tu veux donner à ton prog (je crois tu peux mettre "")

Chemin_De_Ton_Prog c le chemin complet (nom de l'exe compris) de ton exécutable.

g indiqué une tite diff entre win98 et win xp.

Vala, je ne sais pas comment t'expliquer mieux.
Maintenant, tu as d'autres moyens de démarrer un prog au démarrage de windows :

1 - si tu sais manipuler les fichiers.ini, dans la section [Windows] tu rajoutes une ligne run=Chemin_De_Ton_Prog mais l'inconvénient est qu'on peut désactiver l'exécution de win.in et system.ini grâce a démarrer\exécuter\msconfig.exe, ces 2 fichiers étant une réminiscence des anciennes versions de windows.

2 - tu copies un raccourci de ton prog dans
"C:\WINDOWS\Menu Démarrer\Programmes\Démarrage"
ou
"C:\WINDOWS\Menu Démarrer\Programmes\Startup"
suivant la langue.
Enfin, ça c valable pour win98, pour winXP, c à vérifier car je n'ai pas xp sous la main ce soir.

Ouf, g fini, j'espère que ça t'aidera.

Cordialement

CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
26 mai 2004 à 19:49
oups, g relu trop tard, à la place de advapi.dll c advapi32.dll qu'il fallait lire.

Cordialement

CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
26 mai 2004 à 19:53
re-oups, pour le fichier ini à modifier c bien sûr win.ini.

Décidément, faut que je me relise avant d'envoyer.

Cordialement

CanisLupus
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
27 mai 2004 à 18:08
merci pour tes espliquation que g apepres compris mes comment je fai pour que quand je coche la checkbox ben sa face marcher le code et encore merci

==drpsico==
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 mai 2004 à 20:30
Ben ça, c +simple, quelquepart dans ton code, tu écris
if Ta_CheckBox.value = true then Inscription_Base_Registre

Cordialement

CanisLupus
0
drpsico Messages postés 208 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 août 2005
27 mai 2004 à 20:33
esqu'il fo que je termine le teste^par end if
merci
==drpsico==
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
27 mai 2004 à 20:50
Les puristes écriraient

if Ta_CheckBox.value = true then
Inscription_Base_Registre
end if

mais s'il n'y a qu'une instruction tu peux tout mettre sur la même ligne :

if Ta_CheckBox.value = true then Inscription_Base_Registre

sans end if

Seule différence, c pour la maintenance, au cas où tu voudrais rajouter une instruction.

Finalement, prend la 1ere solution, ça sera plus lisible et plus maintenable.

Cordialement

CanisLupus
0
Rejoignez-nous