Lancer un exe (projet VB6) au démarrage de windows en mode caché

scortek Messages postés 61 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 1 août 2007 - 11 mai 2007 à 10:27
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 14 mai 2007 à 13:40
Voilà, tout est dans le titre. Je sais déjà comment lancer l'exe au démarrage de la session utilisateur, mais je ne sais comment mettre celui-ci en tâche de fond (juste visible dans les processus du gestionnaire de tâche ou pas serais mieux encore).
J'ai besoin de faire cela pour pouvoir détecter si un autre programme est lancé ou pas pendant la session windows, afin d'agir en conséquence.

J'ai ce début de code tiré de codyx :
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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

Sub RunOnStart(ByVal Libele As String, ByVal Fichier As String)
   Dim hKey    As Long
   RegOpenKey &H80000001, "Software\Microsoft\Windows\CurrentVersion\Run", hKey
   RegSetValueEx hKey, Libele, 0, 1, ByVal Fichier, Len(Fichier)
   RegCloseKey hKey

End Sub

Call RunOnStart("Calc.exe"
, "C:\Windows\System32\calc.exe"
)

6 réponses

cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
11 mai 2007 à 11:07
bonjour,
mettre l'appel fonction dans Sub Main
et fair démarrer le projet en sub main
A+
louis
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 mai 2007 à 11:44
Salut lermite222,
Pour un peu plus de précision, Sub Main doit être dans un Module standard
S'il n'y a pas de Forms loadées, le programme n'apparaîtra pas à l'écran

MPi
0
scortek Messages postés 61 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 1 août 2007
11 mai 2007 à 12:33
Mais c'était déjà fait, et le code marche, pas de soucis : calc.exe se lance à chaque démarrage de windows comme prévu.
Calc est un exemple, mais ce que je veux, c'est lancer un prog à moi qui se lance au démarrage, mais qui ne s'affiche pas (tourne en tâche de fond...)
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
11 mai 2007 à 13:39
Salut,

Le prog à toi, tu lui donne un submain à la place d'une form comme objet de démarrage.
tuto
0

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

Posez votre question
scortek Messages postés 61 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 1 août 2007
14 mai 2007 à 09:30
Et comment je pourrais faire pour que ce prog soit directement enregistré dans la base des registres, pas en lançant un autre prog, mais lorsqu'il s'installe via un setup tel que InstallShield ou autre ?
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
14 mai 2007 à 13:40
Avec InnoSetup, tu peux créer les clés telle qu'elles le sont dans le code que tu nous as donné.

Cf la doc pour ses fonctions d'accès au registre.

2 tutos sur InnoSetup :

http://www.vbfrance.com/tutoriaux/INSTALLATION-AVEC-INNOSETUP_590.aspx
http://www.vbfrance.com/tutoriaux/CREATION-SETUP-PROPREMENT_238.aspx
0
Rejoignez-nous