[VB.net] Vérification d'un processus

  • Partenaires

Utilisateurs qui regardent le poste (Total: 0, Members: 0, Invité: 0)

Statut
La discussion n'est pas ouverte à d'autres réponses
R

Ravenus

Level 2
Level 1
17 Oct. 2013
27
0
121
Yo,

Jdébute dans le visual basic et jme fabrique en ce moment un petit afk bot pour s4 league ...
J'ai mis un bouton start + un timer.

Mon problème est que je n'arrive pas à vérifier si S4client.exe est bien lancé et si il ne l'est pas, mettre un message d'avertissement ( j'ai pensé à un if ... ).

Donc voilà jvoudrais juste savoir ça ^^.

Cordialement, Ravenus.
 
Cyrion

Cyrion

._.
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
8 Juil. 2010
2,523
2
944
www.bufferoverflow.fr
Montre nous ce que tu as essayer au moins , on est là pour aider , pas pour donner du pré-mâché ;)
 
R

Ravenus

Level 2
Level 1
17 Oct. 2013
27
0
121
Voilà le code ( vraiment médiocre :x ) :

Code:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Start()

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        SendKeys.Send("z")
        System.Threading.Thread.Sleep(10000)
        SendKeys.Send("s")
        System.Threading.Thread.Sleep(10000)
        SendKeys.Send(" ")
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Process.ProcessName = "S4Client.exe" Then
            MessageBox.Show("S4 allumé !")
        Else
            MessageBox.Show("Lancez s4 league")
        End If
    End Sub
End Class
 
davydavekk

davydavekk

Level 5
Level 4
Level 3
Level 2
Level 1
23 Mai 2013
508
0
322
'merica
C'est en C#, mais ca devrait t'aider a comprendre :
Code:
 Process[] processes = Process.GetProcessesByName("S4Client"); // recherche le processus
            if (processes.Length > 0) // verifie si le process a ete trouver
                Console.WriteLine("S4Client est lance !"); // si oui
            else
                Console.WriteLine("S4Client n'est pas lance"); // si non
            Console.Read();
 
R

Ravenus

Level 2
Level 1
17 Oct. 2013
27
0
121
Le process.processname ne marche pas chez moi oo
 
Evaelis

Evaelis

La Voix de la Sagesse
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
28 Avr. 2010
22,929
465
1,699
Valhalla
Et pourtant le code marche
 
R

Ravenus

Level 2
Level 1
17 Oct. 2013
27
0
121
Le mien ou celui de davy? J'obtient une erreur avec processname
 
davydavekk

davydavekk

Level 5
Level 4
Level 3
Level 2
Level 1
23 Mai 2013
508
0
322
'merica
C'est normal que process.processname ne marche pas, étant donné que tu n'as pas de variable nommée "process".(processname est une propriété)
 
R

Ravenus

Level 2
Level 1
17 Oct. 2013
27
0
121
Donc jfais comment? ( un peu perdu :x )

Dim Process as String = Process.GetProcessByName ?
 
Evaelis

Evaelis

La Voix de la Sagesse
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
28 Avr. 2010
22,929
465
1,699
Valhalla
Oo c'est As Process déjà ...
(Celui de davy est juste)
Dim processes As Process() = Process.GetProcessesByName("S4Client") ' recherche le processus If processes.Length > 0 Then ' verifie si le process a ete trouver Console.WriteLine("S4Client est lance !") Else ' si oui Console.WriteLine("S4Client n'est pas lance") End If ' si non Console.Read()
Juste au cas où :
 
Ben

Ben

Master Chief
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
3 Mars 2011
4,060
3
944
Un peut partout.
La même que davy en vbnet

Dim S4_proc() As Process = Process.GetProcessesByName("S4Client")
If S4_proc.Length > 0 Then
MsgBox("S4 est en cours d'execution.")
Else
MsgBox("S4 n'est pas en cours d'execution.")
End If
Edit pas vue ton message Eva a déjà répondu
 
Dernière édition:
R

Ravenus

Level 2
Level 1
17 Oct. 2013
27
0
121
Bha je ne connaissais pas pour Process ( à vrai dire je croyais que y avait que String, Integer et Boolean x) )

Donc merci, jvais test, jvous tient au jus :)
 
davydavekk

davydavekk

Level 5
Level 4
Level 3
Level 2
Level 1
23 Mai 2013
508
0
322
'merica
Juste au cas ou : Il faut faire
Code:
Imports System.Diagnostic

Pour utiliser la classe Process.
 
Evaelis

Evaelis

La Voix de la Sagesse
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
28 Avr. 2010
22,929
465
1,699
Valhalla
En général, tu mets ta souris sur l'erreur et VS te dis "Inclure System.Diagnostic"
Ah et pour le "As ******", derrière ça peu être n'importe quoi
Soit c'est : As Type (String, boolean, integer, process ....), il y en a une infinité
Soit c'est : As new Instance_Of_Class
 
Cyrion

Cyrion

._.
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
8 Juil. 2010
2,523
2
944
www.bufferoverflow.fr
à vrai dire je croyais que y avait que String, Integer et Boolean x)

S'il-vous-plait , commence par apprendre les bases avant de te lancer dans n'importe quoi, ça évite les questions trop évidente.
 
R

Ravenus

Level 2
Level 1
17 Oct. 2013
27
0
121
Re,

Donc j'ai mis ce code qui marche pas vraiment en jeu :x. J'ai mis un timer pour faire en sorte que l'action se répète ( les touches ) mais y a rien en jeu... Jvoudrais aussi simuler le clik gauche toutes les 15s ( on m'a parlé de l'api mouse_event ).
Voilà le code :

Code:
Imports System.Diagnostics

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim s4_proc() As Process = Process.GetProcessesByName("S4Client")
        If s4_proc.Length > 0 Then
            Label2.Text = "S4 Client is already started!"
            Label2.ForeColor = Color.LimeGreen
        Else
            Label2.Text = "S4 Client not found!"
            Label2.ForeColor = Color.Red
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim s4proc() As Process = Process.GetProcessesByName("S4Client")
        If s4proc.Length > 0 Then
            Timer1.Start()
            My.Computer.Keyboard.SendKeys(" ")
            System.Threading.Thread.Sleep(10000)
            My.Computer.Keyboard.SendKeys("zz")
            System.Threading.Thread.Sleep(10000)
        Else
            MsgBox("Please start S4 League!")


        End If
    End Sub

End Class
 
Ben

Ben

Master Chief
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
3 Mars 2011
4,060
3
944
Un peut partout.
Normal t'a rien mis dans l'event du timer ...
Go apprendre un peux car là c'est n'importe quoi on va pas tout faire à ta place surtout quand c'est aussi simple que ça, là c'est pas un problème d'incompréhension c'est juste que tu connais pas la bases...
 
Misuki

Misuki

Git Wizard en freelance
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
15 Juin 2012
2,299
66
954
T'a de la chance, j'ai du temps a perdre.

Ajoute moi sur skype:
 
Dernière édition:
Statut
La discussion n'est pas ouverte à d'autres réponses