Compiler un exe avec Visual Basic 2008 Express

nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010 - 14 juin 2010 à 14:18
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010 - 14 juil. 2010 à 07:29
Bonjour,

J'aimerai compiler mon code en fichier exécutable, mais je n'y arrive pas

De plus, lorsque jelance le debug,n fee style popup vide s'ouvre et ca s'arrête là, c'est quoi cette fenêtre n ommée Form1? J'ai l'impression que mon bout de programme ne s'exécute pas. J'aimerai ouvrir le nte si elui-ine''tpsa lorsque je lance mon exe.

Quelqu'un peux-ti m'aider?

Merci d'avance

Public Class StartForm
Sub VerifNotePad()
'Sub VerifNotePad()
'Vérifie la présence d'outloo, si le process n'est pas présent on lance Outlook.
Dim p As New Process

Try
'Vérification de l'existence du process (on le trouve dans le gestionnaire des taches ^^)
If UBound(Diagnostics.Process.GetProcessesByName("NotePad")) < 0 Then
'Si il n'est pas déjà lancé on le lance donc manuellement
p.StartInfo.FileName = "C:\Windows\System32\notepad.exe"
'Définition du style de la fenêtre (maximisé, minimisé, normal, caché)
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
'Démarrage du process
p.Start()
End If
Catch err As Exception
MsgBox(err.ToString(), MsgBoxStyle.Critical, "Erreur !")
End Try
End Sub
End Class

47 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
14 juin 2010 à 14:28
Bonjour,

Quel type d'application as tu créé? application console ou windows?
Dans les propriétés de démarrage, vérifie que la form qui est lancée est la bonne.
Sinon dans ton submain() vérifie l'appel à ta fonction verifnotepad.


L'expérience, c'est une connerie par jour, mais jamais la même..
0
cs_foxspown Messages postés 26 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 18 juin 2010
14 juin 2010 à 14:30
Je n'ai pas tout compris à ta question, mais en tout cas, Form1 est le nom de base de ta fenetre. Pour le modifier il faut aller dans les propriétés de ta fenetre en question.

As tu essayé d'aller voir dans le dossier "bin" qui se trouve dans le dossier de ta solution?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
14 juin 2010 à 14:49
Bonjour,
Mettez comme ceci, le processus démarrera à l'ouverure du programme:

Public Class StartForm 

    Private Sub StartForm 
_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        VerifNotePad()
    End Sub
    Sub VerifNotePad()
        'Sub VerifNotePad() 
        'Vérifie la présence d'outloo, si le process n'est pas présent on lance Outlook. 
        Dim p As New Process

        Try
            'Vérification de l'existence du process (on le trouve dans le gestionnaire des taches ^^) 
            If UBound(Diagnostics.Process.GetProcessesByName("NotePad")) < 0 Then
                'Si il n'est pas déjà lancé on le lance donc manuellement 
                p.StartInfo.FileName = "C:\Windows\System32\notepad.exe"
                'Définition du style de la fenêtre (maximisé, minimisé, normal, caché) 
                p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
                'Démarrage du process 
                p.Start()
            End If
        Catch err As Exception
            MsgBox(err.ToString(), MsgBoxStyle.Critical, "Erreur !")
        End Try
    End Sub

End Class

@
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
14 juin 2010 à 16:26
J'ai sélectionner à la création du nouveau projet :Windows Forms Application" J'ai aucune idée si c'est la bonne méthode...

Dans l'immédiat je vais tester la solution de Pivert.

Je vous tiens au courant et merci pour votre précieuse aide.

Foxspown, au fait j'ai besoin d'un petit programme qui a chaque fois qui sera lancé ira vérifier si le process Notepad.exe est ouvert ou pas et s'il ne l'est pas, je lance l'application (Notepad.exe est un exemple, en réalité l'application en question est tout autre. A moins de l'ouvrir une seule fois et de faire en sorte qu'il aille faire cette vérification chaque 15 minutes, mais là je ne sais si c'est possible.

Qu'en pensez-vous
0

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

Posez votre question
cs_foxspown Messages postés 26 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 18 juin 2010
14 juin 2010 à 16:31
Les projets Windows Form permettent d'avoir des fenetres, mais dans ton cas, je pense pas que ton appli aie besoin d'une interface graphique, je te conseille plutôt une appli console, et de désactiver l'affichage de la console vu que d'apres ce que j'ai compris c'est juste pour vérifier si le programme tourne, mais d'un autre coté, tu seras obligé de le fermer avec le gestionnaire de tâche.
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
14 juin 2010 à 16:35
Pivert, j'ai des erreurs avec le code que tu m'a donné :

1 Name '_Load' is not declared
2 Expression expected (ByVal)

Quand je démmarre mon nouveau projet "Windows Forms Application" j'ai une fenêtre "Form1" qui apparaît, je fais clic droit dessus et "View code" pour ensuite mettre mon code, c'est correct?

Au fait foxspown, je ne trouve le dossier Bin en question...

Je vais m'absenter jusqu'à demain matin, j'espère vous y retrouver, vous m'êtes d'un précieuse aide. Merci d'avance.
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
14 juin 2010 à 16:38
J'ai bien compris Foxspown, je dois donc prendre console, est-ce que le code est identique? Je ne peux pas fermer la console à la fin de l'exécution du programme? Ou bien encore mieux, le laisser tourner en fon indéfiniment, pour autant qu'il soit caché...
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
14 juin 2010 à 16:58
J'ai réussi à lancer l'appli de Pivert, en mettant la ligne '_Load...' en commentaire... Au fait, à quoi elle doit servir?

La console s'ouvre vérifie l'existence de notepad et la lance si pas ouverte, à la fin la console se referme, ca semble pas mal du tout. Il me reste a faire l'automatisme, soit pour le lancer chaque 15 minutes, soit pour faire une boucle infinie à l'intérieur, je préfèrerais la deuxième solution perso. C'est possible à votre avis?
0
cs_foxspown Messages postés 26 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 18 juin 2010
14 juin 2010 à 18:02
C'est pas génial, mais ça peut marcher...
Sinon, j'ai pensé à un truc :
Tu fait une Form, tu met un timer(tu l'ajoute avec la boite à outils), tu le règle pour qu'il tourne toutes les secondes (dans les options), et tu met la valeur de "Visible" à False (dans les options) pour ta Form.
Ensuite, dans le code de ton timer, tu fait un test qui va controler une variable toutes les secondes, tu l'incrémente à chaque fois, et quand elle atteint le nombre de secondes voulues, tu remet la variable à zéro et tu fais ton test.
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
15 juin 2010 à 07:00
JE trouve ta proposition très intéressante foxspown, mais pour la réalisation c'est pas du gâteau... Je suis plutôt débutant en la matière... Je vais essayer, mais si t'as un bout de code à me proposer, ce serait génial
0
cs_foxspown Messages postés 26 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 18 juin 2010
15 juin 2010 à 09:21
Je vais te faire ça en speed ;)
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
15 juin 2010 à 10:33
Merci Foxspown,

Au fait, une chose que je comprend pas, le code fonctionne en console, mais pas en Form. Pourquoi? J'ai toujours cette fenêtre qui s'ouvrer avec rien dedans et mon programme qui ne s'exécute pas, dans mon cas c'est mieux d'utiliser console non? C'est comme ça que tu pensais faire?

J'ai un autre souci, c'est que le programme compiler est un fichier avec l'extension ".application" et non ".exe", c'est possible d'avoir plutôt un ".exe"?
0
cs_foxspown Messages postés 26 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 18 juin 2010
15 juin 2010 à 10:36
Regarde le message que je t'ai envoyé à ton compte, je t'expliquerai après ;)
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
15 juin 2010 à 10:38
Bonjour,

Tout dépend de ce que tu souhaites faire, si tu ne veux pas de form c'est surement mieux en application console.

Pour créer un exe : Dans l'ongler Build, cliquer sur "Générer".
Cela suffit pour te créer un fichier exe, après si tu souhaites le déployer sur d'autres postes c'est autre chose..




L'expérience, c'est une connerie par jour, mais jamais la même..
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
15 juin 2010 à 10:57
Ok, je vais voir sur mes messages, et je reviens

Au fait sous Buil, j'ai que "Build WindowsApplication1" et "Publish WindowsApplication1" et si je prends ce dernier, après il demande de spécifier l'endroit et après de sélectionner "From web site" ou "From a UNC path or file share" ou celui que je prends "From a CD-ROM or DVD-ROM". Après j'ai mon setup.exe qui va installer mon application avec cette extension .application...
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
16 juin 2010 à 08:11
Au fait, je n'as pas la fonction "Générer" sous Build. Je mepose cette question, est-ce que avec Visual Basic Express 2008 il ne serait pas possible de générer un exécutable?

Sinon, j'ai testé ton code foxspown, mais j'ai des erreurs, je suis sous Vista pour info.

J'aimerai bien que la fenêtre n'apparaisse pas, que la tâche se fasse discrètement.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
16 juin 2010 à 10:43
Me revoilou,
je pense avoir peut-être la solution. J'ai fait un programme qui se place dans la zone de notification et qui toutes les "x" secondes va voir si il y a quelque chose dans le clipboard. On peut l'activer ou le désactver sans fermer l'application.
Si cela vous interesse voici l'adresse, car c'est trop long à expliquer la marche à suivre, il vaut mieux voir le programme et l'adapter suivant vos besoins:

http://www.vbfrance.com/codes/CLIPBOARD_VB-NET_50620.aspx

@+ Le Pivert
0
nainbleu2 Messages postés 41 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 14 juillet 2010
16 juin 2010 à 11:00
Bonjour Pivert,

J'ai bien télécharger ton code, mais pour un débutant eb VB comme moi autant dire que c'est du chinois. Il y atellement de fichiers VB dans les dossier. Sur ce j'ai quelques questions:

- Dans quel dossier se trouve la partie du code où je peux modifier l'action à faire chaque "x" secondes?
- J'aimerai faire une pasue dans le code, car j'ai deux actions à faire, d'abord je dois tuer une tâche et deux secondes après lancer un exe.
- J'ai toujours pas compris comment obtenir mon ficher exécutable...

Pas facile avec les débutants n'est ce pas? :-)
0
cs_foxspown Messages postés 26 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 18 juin 2010
16 juin 2010 à 11:19
Avec un objet Timer, comme je t'ai mis dans ton code, ensuite il faudra que tu créé une autre variable, et que tu l'incrémente quand tu veux que le "chrono" se lance.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
16 juin 2010 à 11:46
foxspown, je crois qu'il faut tout expliquer depuis le début, car comme l'a expliqué nainbleu2, il n'utilise pas vb.net.
Donc tu ouvres le fichier "Cliboard_VB.Net VisualStudio.Launcher.sln"(il est en couleur)
Al'ouverture si tu te trouves sur Form1.VB(design) tu cliques sur Form1.VB pour avoir le code.
C'est dans :
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
qu'il faut fare les modifs
Ensuite retourne dans Form1.VB(design) et cliques sur Timer1, tu verras en bas à droite la propriété Interval du Timer réglée sur 1000 ce qui représente 1 seconde.
Pour compiler l'application tu fais F5, tu verras l'application dans la zone de notification.
Quand tu fermera le compilateur l'exe se trouve:
Clipboard_VB.Net\Clipboard_VB.Net\bin\Debug\Clipboard_VB.Net.exe
Essaie de digérer cela et après on verra.
@+ Le Pivert
0
Rejoignez-nous