Execution automatique d'un programme vb

reymoise Messages postés 7 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2005 - 5 févr. 2005 à 12:45
zippro4012 Messages postés 216 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 26 février 2006 - 6 févr. 2005 à 12:39
Besoin d'une petite aide!!

Je souhaiterai executer un programme a un moment présice de maniere automatique.
cela est -il possible, si oui comment?
Je pense que un TIMER serai la solution mais je n'en connai pas l'utilisation malgrès que selon mes source cela s'avere relativement simple...

En vous remerciant à l'avance de votre aide.

PS : Vite, Vite, Vite.

8 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 févr. 2005 à 13:04
Pourrais-tu être plus explicite dans ta demande ?



Si c'est pour exécuter un logiciel à une date et heure précise style
défragmentation des disques ou analyse par l'antivirus, tu peux passer
par le gestionnaire de taches planifiées de Windows.
0
reymoise Messages postés 7 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2005
5 févr. 2005 à 13:20
Non,non .

C'est pour lancer un prog VB que g réaliser . il genere l'envoi de mail a l'aide de outlook.
Ce programme va etre utiliser par plusieur personnes (22).
C un fichier joint qui va passer de personne en personne .Il leur est donné un temps limité pour faire passer le mail a la personne suivante donc il faut que mon programme s'active automatiquement et non en cliquant sur l'executable!

Voila j'espere que g été assez clair...

Cordialement reymoise
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 févr. 2005 à 13:37
donc il faut que mon programme s'active automatiquement


2 solutions :

Soit tu as codé ton soft pour qu'il se lance, envoi ton mail et
s'arrête. Dans ce cas il faut que tu l'exécute régulièrement et dans le
gestionnaire de taches planifiées se charge de l'affaire sans problème.


Soit ton soft tourne en permanence en tache de fond et toutes les x
minutes appele la fonction d'envoi que tu as codé. Dans ce cas, il te
faut une boucle infinie dans laquelle tu viens tester l'heure système
et quand elle corespond à ton critère tu apelle la fonction d'envoi.



Tu peux aussi utiliser un objet timer que tu pose sur ta
feuille, tu programme la propriété Interval avec ta période de
déclenchement, attention en millisecondes, maxi 65535 soit 65 secondes
mais avec un peu de code tu peux monter à plusieurs minutes voire plus.



Ton timer te génère un évènement géré par la fonction Private Sub TonTimer_Timer ()
c'est dans cette procédure que tu met ton code d'appel.



En espérant avoir un peu mieux compris ta demande cette fois-ci
0
cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 1
5 févr. 2005 à 14:50
Faut juste ne pas oublier de mettre une clé dans le registre pour que cela se relance à chaque démarrage...
@++
0

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

Posez votre question
reymoise Messages postés 7 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2005
5 févr. 2005 à 15:12
Je vous remercie de cette petite aide...
0
cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 1
5 févr. 2005 à 16:11
De rien...
Tchao et bonne prog...
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 févr. 2005 à 19:19
Tiens il vient d'avoir une mise à jour sur une des sources. J'ai
pas regardé le code, mais selon les explications tu devrais trouver je
pense quelques pistes dedans


http://www.vbfrance.com/code.aspx?ID=21567
0
zippro4012 Messages postés 216 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 26 février 2006 1
6 févr. 2005 à 12:39
Pour enregistrer un prog dans le registre pour qu'il se démarrage automatiquement avec le code :

Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" ( _
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


Declare Function RegCloseKey Lib "advapi32.dll" ( _
ByVal hKey As Long) As Long

Public Const HKEY_LOCAL_MACHINE As Long = &H80000002
Public Const REG_SZ As Long = 1

Sub CreateStartKey()
Dim KeyHandle As Long, KeyValue As String, KeyLength As Long
Dim KeyResult As Long, KeyResult2 As Long
KeyValue = Space(255)
KeyLength = Len(KeyValue)
RegOpenKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", KeyHandle
KeyResult2 = RegSetValueEx(KeyHandle, NomDuProg, 0, REG_SZ, ByVal CheminDuProg, Len(ExeFile))
If KeyResult2 <> 0 Then
MsgBox "Erreur !", vbCritical
End If
RegCloseKey KeyHandle
End Sub

Vive les APIs !
0