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.NET Discussion :

[VB2010] launcher avec VB


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut [VB2010] launcher avec VB
    Bonjour, voila j'ai VB 2010 et après mainte essai je ni suis pas arrivé
    J'ai besoin d'aide pour avoir un code:
    On lance l'application,
    Quand on clique sur un bouton ca active un timer qui fait remplir une ProgressBar.
    Le jeu en lui même restera en mode "barre" (la barre d'outil en bas de l'écran) le temps de s'initialiser et quand la ProgressBar et remplis ça ferme ce launcher et ça ouvre la fenêtre (qui se trouver dans la barre d'outil)qui aura alors eu le temps de charger pour que le jeu soit dessuite lancé.
    Le jeu ne sera pas fait sur VB mais sur UDK.
    Merci d'avance Isador34

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    On peut difficilement t'aider. tu ne nous donnes aucun code...

    On lance l'application
    ça se fait, rien de très compliqué
    Quand on clique sur un bouton ca active un timer qui fait remplir une ProgressBar
    Sans interet si tu ne fait rien d'autre que charger la ProgressBar
    Le jeu en lui même restera en mode "barre"
    Quel Interet?
    uand la ProgressBar et remplis ça ferme ce launcher et ça ouvre la fenêtre
    Idem je comprend pas trop l’intérêt du "Launcher"
    Le jeu ne sera pas fait sur VB mais sur UDK
    Pas grave du moment que tu a un .exe

  3. #3
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    Voilà je t'explique on va créer un jeu basé sur une série de roman.
    Donc ce jeu risque de prendre beaucoup de temps à charger au départ.
    Cest pour ça que je veux créer un timer qui va (par exemple) mettre 1minute à se charger ce qui va permettre au jeu d'être operationnel au lieu d'attendre 1min devant un ecran noir. Cest une sorte se fenêtre d'attente

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Donc ce jeu risque de prendre beaucoup de temps à charger au départ.
    Oui... tout dépend de la conception.

    Que ce soir un Roman ou une BD,
    si tu charge tout au départ comme une brute, c'est sur qu'il ne va pas apprécier .

    Imaginons que ce soit le cas, tu doit pouvoir faire ce que tu veux.
    J'ai même mieux a te proposer

    Masquer l'application au yeux de l'utilisateur, le temps du Timer.
    Et ensuite tu l'affiche.

    Un bout de code qui pourra t'inspirer p-e

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    ' Importation des librairies
    Imports Microsoft.Win32
     
    #Region "fonctions"
        Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
        Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Integer
    #End Region
     
    #Region "Constantes"
        Private Const SW_SHOWNOACTIVATE As Integer = 4
        Private Const SW_HIDE As Integer = 0
        Private Const SW_SHOW As Integer = 5
    #End Region
     
        Private Sub tmrAfficherMasquerHisdata_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrAfficherMasquerHisdata.Tick
            ' A chaque tick du timer
            ' Si "Masquer HistData" est coché
            If MasquerAppliMenuItem.Checked = True Then
                ' On masque le fenêtre HistData
                Dim hWnd As Long
                hWnd = FindWindow(Nothing, NomFenetre)
                ShowWindow(hWnd, SW_HIDE)
            End If
     
            ' Si "Afficher HistData" est coché
            If AfficherAppliMenuItem.Checked = True Then
                ' On affiche le fenêtre HistData
                Dim hWnd As Long
                hWnd = FindWindow(Nothing, NomFenetre)
                ShowWindow(hWnd, SW_SHOW)
            End If
        End Sub
    Ensuite pour lancer ton .exe, regarde du coté de la fonction "Shell'
    Shell (chemin du fichier,windowsstyle)

    L'argument windowsstyle est facultatif et prends les valeurs
    (ptit copier/coller si t'as pas MSDN ^^) :

    - vbHide ou 0 = La fenêtre est masquée et activée.
    - vbNormalFocus 1 = La fenêtre est activée et rétablie à sa taille et à sa position d'origine.
    - vbMinimizedFocus = 2 La fenêtre est affichée sous forme d'icône et activée.
    - vbMaximizedFocus = 3 La fenêtre est agrandie et activée.
    - vbNormalNoFocus = 4 La fenêtre est rétablie à sa taille et à sa position les plus récentes. La fenêtre active reste active.
    - vbMinimizedNoFocus = 6 La fenêtre est affichée sous forme d'icône. La fenêtre active reste active.
    voila pour le reste je pense que tu devrait t'en sortir

  5. #5
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    Merci je ne te remercirai jamais assez.
    Je vous recontacte si j'ai besoin à nouveau d'aide.

    Je ne le met pas en résolue pour l'instant car je vais vous passez mon code pour que vous voyez s'il y à des erreur.

    Merci.

  6. #6
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    je vais vous passez mon code pour que vous voyez s'il y à des erreur.
    Heuuu on est pas de dieux non plus
    Test le avant plutôt et dit nous si tu rencontre des erreurs.
    * Visual Studio te dira ou ça plante, si tu comprend pas envoie le code en précisant la ligne *

  7. #7
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    Ok merci.

  8. #8
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    autre chose

    :noob on: Ton 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    ' Importation des librairies
    Imports Microsoft.Win32
     
    #Region "fonctions"
        Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
        Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Integer
    #End Region
     
    #Region "Constantes"
        Private Const SW_SHOWNOACTIVATE As Integer = 4
        Private Const SW_HIDE As Integer = 0
        Private Const SW_SHOW As Integer = 5
    #End Region
     
        Private Sub tmrAfficherMasquerHisdata_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrAfficherMasquerHisdata.Tick
            ' A chaque tick du timer
            ' Si "Masquer HistData" est coché
            If MasquerAppliMenuItem.Checked = True Then
                ' On masque le fenêtre HistData
                Dim hWnd As Long
                hWnd = FindWindow(Nothing, NomFenetre)
                ShowWindow(hWnd, SW_HIDE)
            End If
     
            ' Si "Afficher HistData" est coché
            If AfficherAppliMenuItem.Checked = True Then
                ' On affiche le fenêtre HistData
                Dim hWnd As Long
                hWnd = FindWindow(Nothing, NomFenetre)
                ShowWindow(hWnd, SW_SHOW)
            End If
        End Sub
    il faut le mettre où??? :noob off:

  9. #9
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Oh mon dieu
    dépêche toi de mettre les balises de code si tu ne veux pas qu'on de fâche... ^^
    *merci Deepin *
    Oui désolé je suis allé un peux vite en besogne

    la structure c'est plus comme ça:
    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
    ' Librairies
     
    ' Fonctions
     
    ' Constantes
     
    Public Class MonFormulaire
     
      ' Ici tu met tes événements
      ' exemple:
        Private Sub btQuitter_Click(sender As System.Object, e As System.EventArgs) Handles btQuitter.Click
            End
        End Sub
     
     
    End Class

  10. #10
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    merci beaucoup.

    voici mon 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
    19
    20
    21
     
    Public Class Form1
     
        Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgressBar1.Click
     
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        End Sub
        Private Sub StartTimers()
            Timer1.Start()
        End Sub
    End Class
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
        ProgressBar1.Increment(1)
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            Form1.Close()
        End If
     
    End Sub
    je ne peux pas test a cause de l'erreur:
    Instruction non valide dans un espace de noms.
    par rapport a la partie de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

  11. #11
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonsoir,

    c'est normale, tu n'a pas mis l'événement "Timer1.Tick" dans la class de ton formulaire. *il ne faut rien mettre après le "End class"*
    En bref voici le code nettoyé: *j'ai enlevé les fonction qui servaient à rien*
    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 Class Form1
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            '  A chaque Tick du timer, 
            '' on incrémente de 1 la ProgressBar
            ProgressBar1.Increment(1)
            '' Si la progressBar est full, on masque le formulaire
            If ProgressBar1.Value = ProgressBar1.Maximum Then
                Form1.Close()
            End If
     
        End Sub
     
        Private Sub StartTimers() ' <- tu l'appel nul part... quel intérêt?
            Timer1.Start() 
        End Sub
     
    End Class
    On discutera de ton code demain, mais il y a plusieurs détails que j'aimerais éclaircir avec toi
    • Fonctions
    • Propreté du cote
    • etc.


    Bonne nuit

  12. #12
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    merci de me l'avoir nettoyé.

    EDIT: Je l'ai test et quand je lance le débogage je clique donc sur lancer le jeu mais la la ProgressBar ne bouge pas.

  13. #13
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Normale, il faut lancer le Timer1
    Tu peux le faire à l'ouverture de ton Form1 -> Form1_Load

  14. #14
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    ok merci je test mercredi quand je retourne sur mon pc


    PS: j'en profite pour demander même si c'est hs: je cherche des personne qui sache coder en C++ pour la création d'un jeu style fantastique donc si vous êtes interressé envoyer moi un mp.

  15. #15
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Par défaut
    voici mon 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
    Public Class Form1
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            '  A chaque Tick du timer, 
            '' on incrémente de 1 la ProgressBar
            ProgressBar1.Increment(1)
            '' Si la progressBar est full, on masque le formulaire
            If ProgressBar1.Value = ProgressBar1.Maximum Then
            End If
     
        End Sub
     
        Private Sub StartTimers() ' <- tu l'appel nul part... quel intérêt?
            Timer1.Start()
        End Sub
     
    End Class
    Il y a bien le timer1.start je ne comprend pas pourquoi ça ne marche pas quand même.

  16. #16
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    si tu lisais ce qu'on te dit, tu comprendrais p-e pourquoi....
    as tu essayé de mettre un point d’arrêt dans ton code pour voir si tu passé bien dans l’événement "Tick" de ton Timer?

    Réponse:
    Et bien non. Même si tu l'avais fait tu ne serais jamais passé dedans.

    Simplement parce-que tu n'a pas lu ou fait ce que je t'ai dis plus haut.
    il faut lancer le Timer1
    Tu peux le faire à l'ouverture de ton Form1 -> Form1_Load
    Sans parler de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub StartTimers() ' <- tu l'appel nul part... quel intérêt?
            Timer1.Start()
        End Sub
    le commentaire "<- tu l'appel nul part... quel intérêt?" ne te choque pas ?


    En bref, s'il faut te faire le 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
    19
    20
    21
    Public Class Form1
     
        Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            ' Au chargement de la fenetre, on lance le timer
            Timer1.Start()
        End Sub
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            '  A chaque Tick du timer, 
            '' on incrémente de 1 la ProgressBar
            ProgressBar1.Increment(1)
            '' Si la progressBar est full, on masque le formulaire
            If ProgressBar1.Value = ProgressBar1.Maximum Then
                  ' Ici tu masque ton application
                  ' Un "End" pourrais largement suffire
                  ' si tu ne t'en ressert pas après, ça la quitte sauvagement 
            End If
     
        End Sub
     
    End Class
    voila c'est pas plus long

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/05/2015, 23h12
  2. [Windows XP] apps launcher avec iframe
    Par T_Joe dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 04/04/2013, 18h20
  3. Réponses: 2
    Dernier message: 06/03/2012, 14h30
  4. Réponses: 0
    Dernier message: 08/11/2010, 21h54
  5. [Info]Creer un Launcher SWING avec eclipse ?
    Par Simeans2004 dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 26/07/2004, 10h09

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