Vb.net 2008 et shell

x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013 - 23 févr. 2011 à 12:15
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 27 févr. 2011 à 20:42
Bonjours,

J'ais encore un problème :
Si quelqu'un pourrai traduire le code ci-dessous en vb.net :
si l'application nommé "Setup.exe" n'est pas en cours d'execution alors File.Delete(application.startuppath & "\Setup.exe")
Progressbar1.value=progressbar1.value+1

J'utilise vb.net 2008 express edition !! Pour info !!!

Merci d'avance !

14 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
23 févr. 2011 à 12:54
Bonjour,

Regardes dans System.Diagnostics.Process
Tu récupère la liste des process en cours et tu fais tes contrôles.

Mon site
0
x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013
26 févr. 2011 à 12:50
Bonjours NHenry,

Ton code ne fonctionne pas je peu lui demander de retrouver un processus par le nom, mais ce n'est pas ce que je cherche.
Voici mon problème :

If System.Diagnostics.Process.GetProcessesByName("Setup.exe") = 1 Then
File.Delete(application.strartuppath & "setup.exe")
End If

Il refuse ce code.

Pouvez-vous m'aidez ?

Merci d'avance

Cela devient très urgent ; le logiciel doit être très bientôt finis !!!
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
26 févr. 2011 à 13:04
Bonjour,

"Il refuse ce code", tu as un message d'erreur ?
Le code ne fait rien ?

As-tu regardé la documentation sur la fonction ?
Apparemment non, car sinon tu aurais vu que ça te retourne un tableau, donc tu ne peux pas faire d'égalité directe avec un entier.
Essayes plutôt :
If System.Diagnostics.Process.GetProcessesByName("Setup.exe").Length = 0 Then

Mon site
0
x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013
26 févr. 2011 à 16:59
Bonjours,

A propos je savais que je ne pouvais pas, mais au départ je voulait simplement que l'on me traduise le code, car ce logiciel est très urgent.

Enfin je vous remerci.

PS : Je n'ai que 14 ans, alors soyer jentil !!!!!
0

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

Posez votre question
x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013
26 févr. 2011 à 17:30
Bonjours,

Pouvez-vous corriger ce code, il doit suprimer un fichier si un prossessus est pas en execution :

If Not System.Diagnostics.Process.GetProcessesByName("Setup.exe").Length = False Then
File.Delete(Application.StartupPath & "\Setup.exe")
Me.Close()
End If

Merci d'avance !
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
26 févr. 2011 à 18:57
Bonjour,

Relis mon message précédent, ensuite regardes dans la doc :
- Que te retourne GetProcessesByName ?
- Quelle information est retournée par Length (sur un tableau) ?

Assembles tout ça et tu trouveras.

(Le fait que tu ais 14 ans ne te dispense pas d'apprendre, surtout que lire la doc MSDN est une base incontournable)

Mon site
0
x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013
26 févr. 2011 à 19:59
Bonjours,

Le problème chez moi c'est que MSDN n'est pas en français et je ne sais pas comment chercher avec ; MSDN ne trouve jamais rien.
Pour info mon logiciel VB.net 2008 est en français ; bien sûr !!!

S'il te plaid aide moi !!

Je n'y comprend rien ; j'ais besoin d'une explication complète pour comprendre !!!!

Je suis à cours d'idés !!!

Merci d'avance !!
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
26 févr. 2011 à 20:09
Bonjour,

Pour MSDN en français, il y a oogle, tu tapes :
MSDN System.Diagnostics.Process GetProcessesByName

et tu aura la traduction en français.

Mon site
0
x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013
26 févr. 2011 à 20:44
Bonsoirs,

Alors si je comprend bien, getprocessesbyname obtient le nom du prcessus.
Length est un 32 bits (double), et il définis par une valeur le processus ; dans ce cas précis.
Mais ceci ne me dit en rien comment je dois procéder pour faire l'inverse de :
If System.Diagnostics.Process.GetProcessesByName("Setup.exe").Length = 0 Then
File.Delete(Application.StartupPath & "\Setup.exe")
Me.Close()
End If

Merci d'avance !!!

x64
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
26 févr. 2011 à 20:59
Bonjour,

Raté :
- getprocessesbyname te retourne la liste d'objet Process de la liste des process correspondant à un fichier exécutables.
- Lenght te retourne le nombre d'éléments.

Donc si ça te retourne 0 éléments, c'est que le process n'est pas lancé.

Mon site
0
x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013
27 févr. 2011 à 18:15
Bonjours,

Le problème c'est que si on met que length=0 alors il essay de me suprimer le fichier trop tôt !

Peut-tu m'aidez !!!?

Merci d'avance !!

x64
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 févr. 2011 à 18:23
Bonjour,

Donc, il tente de supprimer le fichier trop tot après son arrêt, c'est tout à fait possible.
Dans ce cas, Try/Catch pour gérer l'erreur et tenter de le supprimer plus tard.

Mon site
0
x64 Messages postés 17 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 23 avril 2013
27 févr. 2011 à 19:19
Bonjours,

Excuse-moi, mai je ne sais pas ce qu'est Try/Catch et je ne sais pas comment il fonctionne. Si tu pourrais me l'expliquer, je t'en serai reconnaissant.

En revanche je connais Do et loop while.

Aide-moi s'il te plaid !!

En tout cas merci de m'avoir aider dans ma programmation !!!

Et connais-tu le codage en base 251 (c'est pour un autre logiciel) ?

Merci d'avance !!

x64
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 févr. 2011 à 20:42
Bonjour,

Try/Catch, gestion des exceptions.

Pour la base 251, je pense avoir une idée.

Mon site
0
Rejoignez-nous