IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Comment utiliser ce code ?


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut 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:
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    sinon y'a le menu démarrer > démarrage de windows ...

  3. #3
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Le code ci-dessus permet de faire lancer à Windows un fichier executable quel qu'il soit lors de son démarage. Construit ton projet comme si tu le lancais manuellement au demarrage de windows, ensuite integre le code précédent afin que ton appli se lance automatiquement.

    adresse du fichier executable de ton appli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    App.Path & "\" & App.Name & ".exe"
    Je ne suis pas sur quand au App.Name & ".exe" mais je suis sur que App.Path renvoie l'adresse du dossier dans lequel est ton appli.

    Petite question pour Vld44 : Tu sais faire créer à ton programme un raccourci ? Perso si mes souvenirs sont bon il me semble que c'est un peu plus complexe que le code ci-dessus

  4. #4
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par avigeilpro
    Je ne suis pas sur quand au App.Name & ".exe"
    App.EXEName, c'est mieux

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Suivi
    Mon incompréhension c'est que comment l'application pourrait se lancer avec Windows du moment où je ne sais pas où mettre la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub machin_Click()
    ou mieux à quel niveau faire appel à cette procédure ?

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Nom d'une pipe !

    Es-tu certain de vouloir développer ?

    Tu mets dans ton code (là où cela te convient, ce qui se trouve entre
    Private Sub machin_Click()
    et
    End Sub
    3 MP pour cà !

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    J'ai fait exécuter le code de la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub machine_click()
    une seule fois et à chaque démarrage de Windows, c'est le répertoire où se trouve mon EXE qui s'ouvre.

    Alors, quelqu'un ne comprend pas quelque chose. Moi, je connais: soit je décide de l'expliquer ou pas du tout, voilà quoi. Il n'y a pas 36 000 solutions.
    Après tout, je n'ai pas tort de ne pas connaitre le fonctionnement logique de ce code.

    Y'a-t-il enfin une bonne volonté pour m'expliquer ce code ?
    Ce n'est pas la peine d'écrire une seule ligne pour ne rien et juste pour faire figure. Merci

  8. #8
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Il n'y a qu'une explication et pas 36000.
    Ce code met en RunOnce l'exe de ton choix.

    Si tu ne le comprends pas, laisse tomber.
    Amitiés.

  9. #9
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Je n'ai pas utilisé le RunOnce mais le Run.
    tu tiens la solution et je sais que tu peux m'éclairer.

    Amitiés.

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Run ou RunOnce, ce n'est qu'une question de choix .

    Mon aide ?
    Elle va s'exprimer ainsi :

    1) Fais un petit projet avec l'intégralité de mon code
    2) remplace "util.exe" par le nom de l'exécutable de ton projet
    3) compile ton projet pour en faire un exe
    4) clicque sur le bouton "machin"
    5) quitte l'appli
    6) arrête ton ordinnateur
    7) relance-le .... et vois ....

    Que veux-tu de plus ?
    Le reste est ton affaire et est très simple !

    Bonne chance

  11. #11
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Tu peux très bien aussi mettre ton code dans le Form_Load si tu veux que ton programme s'enregistre pour le démarrage dès son chargement, tu le met ou tu veux ce code, le tout c'est de savoir : quand veux-tu que ton programme s'enregistre pour le démarrage ? Quand tu auras la réponse à cette question tu saura ou mettre le code

  12. #12
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Résultat
    Je me suis contré et j'ai trouvé une astuce qui me permet d'obtenir ce que je cherche.

    Merci à tous ce qui ont participé à cette discussion et de m'avoir éclairé. c'est vrai c'est difficile de supporter quelqu'un qui cherche une solution à ses inquiétudes.

    Je remercie particulièrement jmfmarques pour son éclairage sur le concept.
    Je vous invite à continuer à donner du sourir à tous ce qui ont des difficultés dans leur développement.

    Mes amitiés.

  13. #13
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Quelle est cette astuce, donne la pour ceux que cela pourrait interresser

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.0] Comment utiliser les codes bars
    Par djibidl dans le forum Outils
    Réponses: 2
    Dernier message: 08/01/2014, 16h53
  2. Comment utiliser un code C en java
    Par manrugby dans le forum C
    Réponses: 2
    Dernier message: 31/07/2011, 15h05
  3. Comment utiliser Google Code Search ?
    Par Pierre8r dans le forum Langage
    Réponses: 5
    Dernier message: 16/10/2009, 11h33
  4. [Struts][Messages]Comment utiliser du code HTML
    Par Tueur_a_gage dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 12/12/2005, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo