Comment utiliser ce code ?
Dans le forum "Comment faire démarrer automatiquement mon application avec Windows ?"
M. jmfmarques avait conçu la solution et disait qu'il attendait que cela soit publié car la publication ne relevait pas de sa volonté ni de ses pouvoirs.
jmfmarques a écrit :
Citation:
Citation:
Voici pour un "RunOnce"
(démarrage 1 seule fois)
Je te laisse deviner par quoi il faut remplacer Runonce pour démarrer à tous coups ...
Dans ta form d'appel :
Code :
Code :
Code:
1 2 3 4 5
| Private Sub machin_Click()
fic$ = CurDir & "\util.exe"
' pour écrire une sous-clé (ici runonce) dans le registre
SaveString HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "WinTray", fic$
End Sub |
Dans un module .bas
Code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Public Const REG_FULL_RESOURCE_DESCRIPTOR = 9
Public Const REG_RESOURCE_REQUIREMENTS_LIST = 10
Public Const REG_QWORD = 11
'les constantes de clés principales
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private 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 |
Code :
Code:
1 2 3 4 5 6
| Public Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String)
Dim ret
RegCreateKey hKey, strPath, ret 'on crée une nouvelle clé
RegSetValueEx ret, strValue, 0, REG_SZ, ByVal strData, Len(strData) 'on lui attribue une valeur
RegCloseKey ret 'et on la ferme
End Sub |
Pour ce faire, j'ai une question d'éclaircissement :
Mon formulaire que je veux qu'il démarre avec Windows est "frmDemarrage".
Pour la procédure :
Code :
Code:
1 2 3 4 5
| Private Sub machin_Click()
fic$ = CurDir & "\util.exe"
' pour écrire une sous-clé (ici runonce) dans le registre
SaveString HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "WinTray", fic$
End Sub |
Où doit-je la mettre dans mon cas?
Et de plus, je ne comprends pas comment un tel code dans mon application peut démarrer avec windows car il n'y a aucun lien vers mon application. A moins que je dois mettre mon EXE quelque part, bref, je ne comprends pas le fonctionnement global du processus.
CurDir : fait référence à quel répertoire ? sachant que util.exe est le nom de mon Fichier exécutable.
J'ai besoin qu'après l'installation de mon application, chaque fois que Windows démarre, mon application se lance.
Merci de considérer la discussion.
Amitiés