API ou fonctio qui permet de tuer un procces

Discussion dans 'Web, design' créé par Helyopses, 5 Avril 2004.

Statut de la discussion:
Fermée.
  1. Offline
    Helyopses Touriste
    Voila, j'aimerai savoir s'il existe une API pour VB qui permet de Tuer un process et apres de le relancer, car j'aimerai faire un petit programme qui surveille 2 autres prog, et si ces derniers plantent les arretent et les relancent

    Je ne m y connais pas des masse en programmation c'est pour sa que j'reste dans VB, mais s il y a moyen plus facilement avec autre chose dites le moi et j'aviserai

    Merci bicoup d avance :)
    Helyopses, 5 Avril 2004
    #1
  2. Online
    Jereck Procrastinateur
    Equipe GamerZ.be
    Jereck, 5 Avril 2004
    #2
  3. Offline
    MoTh Elite
    C'est tout a fait possible.

    J'ai fais personnellement un programme dans ce genre.
    Maintenant a savoir si le process est planté, je ne sais pas.
    Mais l'indentifier et le tuer tout à fait possible oui

    Voilà en gros les api dont tu auras besoin

    Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
    Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
    Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
    Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
    Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
    Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
    Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long
    MoTh, 9 Avril 2004
    #3
  4. Offline
    Helyopses Touriste
    THx a tt 2,

    Pour se qui est du code pour Lister les procces et le kill j ai trouvé sur VBfrance un truc satisfaisaint

    Sinon pour savoir si l application est plantée J ai créé un Chan DDE entre les aplication visée et l application de controle
    ( bien sur il faut modifier les appication surveillée pour qu elles envoient les infos, juste un module à rajouter )

    J ai fait un count avec Un sleep pour qu au bout d 1 certain temps sans réponse, Il tue l'application et la relance dans le shell

    C Pas encore super super pk c en fait mon tt premier truc en programmation ( jamais touché a quoi que se soit avant ), mais sa progresse, pour le moment j suis en train de me KC le cul sur l'aspect paramétrisation de la chose

    Si quelqun a un conseil ou quoi ou qui désire voir le code ( qui est pas bien avancé pour le moment :oops: )qu il me le demande
    Helyopses, 11 Avril 2004
    #4
  5. Offline
    MoTh Elite
    Personnellement je vois pas trop ce que tu fais.
    Si tu ajoutes des modules aux applications que tu lances via le shell, c'est que ce sont des applications à toi.
    Alors je me demande pq faire comment.

    Mais j'ai surement loupé un épisode
    MoTh, 11 Avril 2004
    #5
Statut de la discussion:
Fermée.