Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[VB.NET - Console] Espion Processus
Auteur Message
Répondre en citant
Message [VB.NET - Console] Espion Processus 
Bonjour.

Espion Processus est un petit soft qui permet d'éspionner les processus qui s'ouvre et de les inscrire dans un fichier.

OS de Développement : Windows 7 intégrale
OS Compatible : Tous ceux sous windows avec le framework 4.

Lien de téléchargement : http://www.box.net/shared/4gk05llmtr

Et voici la source :

Code:
Imports System.Runtime.InteropServices.Marshal
Module Module1

    Sub Main()
        Dim classINI As New ComINI
        Dim myProcesses() As Process
        Dim myProcess As Process
        Dim j As Integer = 0
        Dim i As Integer = 0
        Dim k As Integer = 1
        myProcesses = Process.GetProcesses()
        Dim tableauProcess(100) As String
        For Each myProcess In myProcesses
            Dim Nom As String = myProcess.ProcessName
            tableauProcess(j) = Nom
            j = j + 1
            classINI.SetCle(".\ProcessORIGINE.txt", "Process en cours", "Process" & j, Nom)
        Next
        tableauProcess(j + 1) = "dllhost"
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Test en cours")
        While 1
            myProcesses = Process.GetProcesses
            For Each myProcess In myProcesses
                Dim Nom As String = myProcess.ProcessName
                If Not tableauProcess.Contains(Nom) Then
                    i = i + 1
                    Console.ForegroundColor = ConsoleColor.Green
                    Console.WriteLine("Processus changé, nom inscrit dans le fichier Processus" & k & ".txt, ligne : " & Date.Now.ToLongTimeString & ", nom : " & Nom)
                    Console.ForegroundColor = ConsoleColor.White
                    Console.WriteLine("Recherche en cours...")
                    classINI.SetCle(".\Processus" & k & ".txt", "Processus ajoutés", Date.Now.ToLongTimeString, Nom)
                    If i > 49 Then
                        k = k + 1
                        i = 0
                        Console.ForegroundColor = ConsoleColor.Red
                        Console.WriteLine("Nouveau fichier créé (Processus" & k & ".txt).")
                        Console.ForegroundColor = ConsoleColor.White
                        Console.WriteLine("Recherche en cours...")
                    End If
                End If
            Next
            j = 0
            For Each myProcess In myProcesses
                tableauProcess(j) = myProcess.ProcessName
                j = j + 1
            Next
            tableauProcess(j + 1) = "dllhost"
        End While
    End Sub

End Module
Public Class ComINI

    Private Declare Function GetPrivateProfileSection Lib "kernel32.dll" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedBuffer As IntPtr, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    Private Declare Function GetPrivateProfileSectionNames Lib "kernel32.dll" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer As IntPtr, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    Private Declare Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedBuffer As IntPtr, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    Private Declare Function WritePrivateProfileSection Lib "kernel32.dll" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
    Private Declare Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

    'Retourne un booléen indiquant l'existance ou non d'une section
    Public Function ExisteSection(ByVal File As String, ByVal Section As String) As Boolean
        Dim PtrCh As IntPtr
        Dim Lng As Integer

        PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
        Lng = GetPrivateProfileSection(Section, PtrCh, 1024, File)

        Return Lng
    End Function

    'Retourne une collection contenant l'ensemble des sections du fichier "File"
    Public Function GetAllSections(ByVal File As String) As Collection
        Dim PtrCh As IntPtr
        Dim Sections As Collection
        Dim I, Lng As Integer
        Dim Chaine, SChaine As String

        PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
        Lng = GetPrivateProfileSectionNames(PtrCh, 1024, File)
        Chaine = PtrToStringAnsi(PtrCh, Lng)
        FreeHGlobal(PtrCh)

        Sections = New Collection
        SChaine = ""
        For I = 0 To Lng - 1
            If Chaine.Chars(I) = vbNullChar Then
                Sections.Add(SChaine)
                SChaine = ""
            Else
                SChaine = SChaine & Chaine.Chars(I)
            End If
        Next
        GetAllSections = Sections
        Sections = Nothing
    End Function

    'Retourne une collection contenant l'ensemble des clés de la section "Section" du fichier "File"
    Public Function GetSectionCles(ByVal File As String, ByVal Section As String) As Collection
        Dim PtrCh As IntPtr
        Dim Cles As Collection
        Dim I, Lng As Integer
        Dim Chaine, SChaine As String

        PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
        Lng = GetPrivateProfileSection(Section, PtrCh, 1024, File)
        Chaine = PtrToStringAnsi(PtrCh, Lng)
        FreeHGlobal(PtrCh)

        Cles = New Collection
        SChaine = ""
        For I = 0 To Lng - 1
            If Chaine.Chars(I) = vbNullChar Then
                Cles.Add(SChaine)
                SChaine = ""
            Else
                SChaine = SChaine & Chaine.Chars(I)
            End If
        Next
        GetSectionCles = Cles
        Cles = Nothing
    End Function

    'Retourne la valeur de la clé "Cle" de la section "Section" du fichier "File"
    Public Function GetCle(ByVal File As String, ByVal Section As String, ByVal Cle As String) As String
        Dim PtrCh As IntPtr
        Dim Lng As Integer
        Dim Chaine As String

        PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
        Lng = GetPrivateProfileString(Section, Cle, "", PtrCh, 255, File)
        Chaine = PtrToStringAnsi(PtrCh, Lng)
        FreeHGlobal(PtrCh)

        GetCle = Chaine
    End Function


    'Insère une section dans le fichier "File"
    Public Function SetSection(ByVal File As String, ByVal Section As String, ByVal Valeur As String) As Boolean
        SetSection = WritePrivateProfileSection(Section, Valeur, File)
    End Function

    'Insère la clé "Cle" dans la section "Section" du fichier "File"
    Public Function SetCle(ByVal File As String, ByVal Section As String, ByVal Cle As String, ByVal Valeur As String) As Boolean
        SetCle = WritePrivateProfileString(Section, Cle, Valeur, File)
    End Function


    'Efface toute les clés de la section "Section"
    Public Function DelSection(ByVal File As String, ByVal Section As String) As Boolean
        DelSection = WritePrivateProfileSection(Section, "", File)
    End Function

    'Efface la valeur de la clé "Cle" de la section "Section"
    Public Function DelCle(ByVal File As String, ByVal Section As String, ByVal Cle As String) As Boolean
        DelCle = WritePrivateProfileString(Section, Cle, "", File)
    End Function

End Class


Je n'ai pas créée la classe comINI, voici l'endroit ou je l'ai trouvé : http://www.vbfrance.com/codes/MANIPULATION-FICHIERS-INI-VB-NET_35975.aspx


Edit : Je trouve cette façon d'afficher les codes vraiment très moche Confused



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Re: [VB.NET - Console] Espion Processus 
Salut,
Tufanik a écrit:
Je n'ai pas créée la classe comINI, voici l'endroit ou je l'ai trouvé : http://www.vbfrance.com/codes/MANIPULATION-FICHIERS-INI-VB-NET_35975.aspx

Tu l'as essayé ? ... dans quel contexte es tu amené à utiliser cet outil ?

Citation:
Edit : Je trouve cette façon d'afficher les codes vraiment très moche Confused

Les goûts et les couleurs tu sais .. .. Wink .. .. en attendant tu peux spliter avec les balises quote ...

Bonne journée



Répondre en citant
Message Re: [VB.NET - Console] Espion Processus 
MultiUser a écrit:

Tu l'as essayé ? ... dans quel contexte es tu amené à utiliser cet outil ?


Bien sur que je l'utilise. Je l'ai intégré au code ici (à partir de la ligne 53).

Dans certains cas, je trouve la présentation des fichiers ini bien plus pratique qu'un simple fichier texte.


PS : Pourquoi dans le code entre balise code, il me met deux j, deux k et deux i cote à cote (lignes 16,27,34 et 46) ? Un en rouge et l'autre en bleu ... Il n'y en a qu'un seul et lorsque j'édite, je n'en vois également que un Confused



Répondre en citant
Message [VB.NET - Console] Espion Processus 
Merci du partage Smile




______________________________________________________
Citation:
RSS du forum : [ batch.xoo.it/rss.php ]
Visiter le site web du posteur
Répondre en citant
Message [VB.NET - Console] Espion Processus 
Merci mais je ne te conseille pas d'utiliser un While mais plutôt un Timer mais si ça passe sans overflow, temps mieux. Wink



Répondre en citant
Message [VB.NET - Console] Espion Processus 
Un timer en console Question

L'utilité de ce programme à la base était de choper un processus qui me faisait un flash à l'écran et disparaissait aussitôt, je ne pouvais pas me permettre de regarder la liste toutes les 50 ms, il était plus rapide. Dieu merci, je l'ai choppé et je l'ai stoppé lol



Répondre en citant
Message [VB.NET - Console] Espion Processus 
Pour cette utilisation là, oui, c'est mieux un while. Sinon, bien sûr qu'il y a un timer en console : Timers.Timer.



Répondre en citant
Message [VB.NET - Console] Espion Processus 
Shocked Ben je savais pas du tout, merci de l'info.



Répondre en citant
Message [VB.NET - Console] Espion Processus 
Salut,

thanks pour les explications Wink

Bonne journée



Répondre en citant
Message [VB.NET - Console] Espion Processus 
Bonjour
merci pour la contribution.

Pour la syntaxe des couleurs on m'a reproché que ça buggait. Désolé et xooit sont incapable de répondre aux messages sur leur forum.


Pour mettre de la couleur dans vos codes il faut utiliser la balise quote et non code.
a+




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [VB.NET - Console] Espion Processus 
Bonjour Laddy, la balise quote a été modifiée ? (avant, elles ne prenaient pas les plus de 2 espaces,...)



Répondre en citant
Message [VB.NET - Console] Espion Processus 
Non je n ai rien modifié




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [VB.NET - Console] Espion Processus 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch