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

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

Ravenus

Membre
Oct 17, 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.
 

Ravenus

Membre
Oct 17, 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
 
May 23, 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();
 
May 23, 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é)
 

Ravenus

Membre
Oct 17, 2013
27
0
121
Donc jfais comment? ( un peu perdu :x )

Dim Process as String = Process.GetProcessByName ?
 

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
as String
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ù : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
 

Ben

Master Chief
V
Ancien staff
Mar 3, 2011
4,069
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
 
Last edited:

Ravenus

Membre
Oct 17, 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 :)
 

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
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
 

Ravenus

Membre
Oct 17, 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

Master Chief
V
Ancien staff
Mar 3, 2011
4,069
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

Git Wizard en freelance
V
Ancien staff
Jun 15, 2012
2,303
66
954
T'a de la chance, j'ai du temps a perdre.

Ajoute moi sur skype:
 
Last edited:
Status
Not open for further replies.