Processus ??? Ultra URGENT

allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 - 2 août 2006 à 10:52
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 - 3 août 2006 à 10:03
Public



Sub
validprocess()


Dim
pr

As
Process


Dim
ProcModule

As
ProcessModule


' creation des fichiers en cas de non-existance ...






Dim
validprocess

As



Boolean
=

My
.Computer.FileSystem.FileExists(dossiercourant &

"\validprocess.txt"
)


Dim
invalidprocess

As



Boolean
=

My
.Computer.FileSystem.FileExists(dossiercourant &

"\invalidprocess.txt"
)


If
validprocess =

False



Then

System.IO.File.CreateText(dossiercourant &




"\validprocess.txt"
)


End



If






If
invalidprocess =

False



Then

System.IO.File.CreateText(dossiercourant &




"\invalidprocess.txt"
)


End



If






' validation du processus ...






' recup‚ration des processus ...






Dim
item

As



New
Collection


For



Each
pr

In
Process.GetProcessesitem.Add(pr.ProcessName)


If
pr.ProcessName <>

"Idle"



Then

item.Add(pr.Handle.ToString)







If
pr.ProcessName.ToUpper <>

"System"
.ToUpper

Then

ProcModule = pr.MainModule


item.Add(ProcModule.FileName)







Else

item.Add(




"Pas de ProcessModule"
)


End



If






End



If






Next






Dim
processus

As



String
=

""






Try






Dim
sr

As



New
StreamReader(dossiercourant &

"\validprocess.txt"
)


Dim
ligne

As



String






Do

ligne = sr.ReadLine







' traitement de la ligne






If
ligne = processus

Then






Exit



Do






End



If






Loop



Until
ligne

Is



Nothing

sr.Close()







Catch
ex

As
Exception


My
.Forms.erreur.ShowDialog()


End



Try






' si invalide ?






Try






Dim
sr

As



New
StreamReader(dossiercourant &

"\invalidprocess.txt"
)


Dim
ligne

As



String






Do

ligne = sr.ReadLine







' ligne ...






If
ligne = processus

Then






' kill process ...






Dim
p()

As
Process


Dim
r

As
Processp = System.Diagnostics.Process.GetProcessesByName(processus)


For



Each
r

In
pr.CloseMainWindow()


Next






End



If






Loop



Until
ligne

Is



Nothing

sr.Close()







Catch
ex

As
Exception


My
.Forms.erreur.ShowDialog()


End



Try






' si inconnu :






Dim
reponse

As



String

reponse = MsgBox(




"*** ne reconnait pas ce processus : "
& processus & vbCr &

"Voulez-vous valider ce processus ?"
, MsgBoxStyle.YesNo,

"***"
).ToString


If
reponse =

"Yes"



Then






' ajouter le processus … la liste des processus valide ...






Dim
sw

As



New
StreamWriter(dossiercourant &

"\validprocess.txt"
)sw.WriteLine(processus)

sw.Close()


Else






' ajouter le processus … la liste des processus invalide ...






Dim
sw

As



New
StreamWriter(dossiercourant &

"\invalidprocess.txt"
)sw.WriteLine(processus)

sw.Close()


End



If






End



Sub

Voilà ce que j'ai réussi à faire (autant dire pas grand chose) avec ce que l'on m'a donné :-)

Voilà donc j'aimerais avoir la liste des processus en cours, et, un par un, les comparés avec les processus valides (marqués dans "validprocess.txt") et les processus invalides (marqués dans "invalidprocess")

Le must, serait que quelqu'un modifi ma source, tout en m'expliquant ... :-)
Je pars en vacances après-demain alors SVP, faites-en sorte que j'ai terminé ce module ...

Merci d'avance à tous !!!

10 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 août 2006 à 11:17
Oui et puis moi j'ai besoin de 1000 ? avant demain car je pars en vacance, donc fais moi un virement sur le compte xxxxxx

Non mais franchement, t'as pas l'impression d'abusé un peu là en disant : "Je pars en vacances après-demain alors SVP, faites-ensorte que j'ai terminé ce module"

Il ne tient qu'à toi de le terminer...
0
sifflet_ Messages postés 70 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 2 mai 2007
2 août 2006 à 13:24
Ouais pis c'est tellement bien indenté qu'on y comprend rien !

Mais, je marche pour les 1000? :-)
0
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
2 août 2006 à 13:46
oh ! on est sur Vbfrance par sur orthographeetgrammairefrance ...

prends- le comme tu veux, mais si tu sais pas mais rien, si tu sais aide-moi si t'as envie stop ...

au lieu de s'égarer sur des fautes de ma part (j'en suis désolé si je m'exprime mal) pourquoi pas se concentrer sur le code ?

voilà si possible, expliquez-moi, comment faire mieux, plus simple .... voir même modifié directement la source pour les meilleurs (et les plus courageux) ...

merci d'avance à tous
0
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
2 août 2006 à 14:27
Je rejoins DarkSidious et sifflet ...

Tu es sur le forum de VB France, on est la pour s'entraider, pas pour te macher le travail !
Quand on butte sur quelquechose, on colle pas tout son code et on dit pas aux autres "demerdez vous". On essaye plutot d'abord d'identifier le probleme et de demander de l'aide dessus.

Enfin bref, Google est ton ami, si tu cherches bien une procedure pour te lister les process, tu la trouveras !

D'ailleurs on connait meme pas ton probleme! Lister les process ? Ecrire dans les fichiers ?

D@runia
0

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

Posez votre question
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
2 août 2006 à 15:17
je n'arrive pas à gérer la liste des processus (beaucoup de mal avec les tableaux, collections)

je demande qu'une chose : qu'on me montre comment avoir un tableau avec tous les processus en cours, puis en sortir un par un ....
0
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
2 août 2006 à 15:30
Créer un ArrayList et ajoute tes processus dedans avec la méthode add dans ton foreach.

Ensuite, tu peux parcourir l'ArrayList en faisant

Foreach Object obj in tonArrayList

D@runia
0
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
2 août 2006 à 15:37
Bonjour,
Petit exemple de récup des processus :
Private

Function fnVerifySiProcessOnMemory()
As
Boolean

Dim B
As
Boolean =
False

Try

Dim P
As Process() = Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName)

Dim i
As
Integer, N
As
Integer = P.GetLength(0)

Dim Nb
As
Integer = 0

Dim cP
As
Integer = Process.GetCurrentProcess.SessionId

For i = 0
To N - 1

Dim pP
As Process = P(i)

If pP.SessionId = cP
ThenNb += 1

End
If

Next

If Nb <= 1
ThenB =

True

End
If

Catch ex
As ExceptionB =

True

End
Try

Return B

End
Function

-- Pourquoi faire simple quand on peut faire compliquer --
0
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
2 août 2006 à 16:20
Process.GetCurrentProcess.ProcessName

>

C'est normal ça ? je veux avoir tous les processus ... lol
0
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
2 août 2006 à 16:47
c'est juste un exemple pour que tu comprennes la syntaxe


le reste, tu le trouve dans la msdn


il te suffit de le remplacer par process.getprocess()

-- Pourquoi faire simple quand on peut faire compliquer --
0
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
3 août 2006 à 10:03
Ok je vais essayer si ça marche ...
0
Rejoignez-nous