!!!! Help !!!! Je commence à déprimer

MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 - 17 août 2004 à 18:39
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 - 17 août 2004 à 20:45
Bonjours, je suis désolé mais j'ai vraiment besoin de pouvoir killer explorer.exe . plussieurs personne m'ont proposé des programme mais je ne suis pas arriver à y extraire ce qui m'interraissait.

J'aurais besoin d'une âme charitable qui pourrait m'aider à trouver les API à Inclure et le code des modules et de ma form afin de pouvoir fermer ce %$£**#@ d'explorer.exe.

Merci d'avance et encore une fois dsl de vous redemander ça.
-=Ar$£nik=-

5 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 août 2004 à 19:01
Tite question d'un curieux,
Pourquoi veux tu absolument killer "explorer.exe" ?
Sachant que si tu le "kille" tu plantes le système.
Essaie ctrl+alt+supp et tu fais fin de tache sur explorer.exe et tu verras le résultat.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
17 août 2004 à 19:10
Je t'assure que cela ne plante pas mon systeme. il ferme seulement toutes les fenetres IE, et Dossier, On ne voi tplus mon bureau. Il me permet de gagner entre 14 et 18 mo de RAM. Non Négligeable.

-=Ar$£nik=-
0
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
17 août 2004 à 19:10
De plus mon prog s'affiche meme si explorer.exe est planté...

-=Ar$£nik=-
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 août 2004 à 19:33
Bon, si c ce que tuveux va voir cette source :

http://www.vbfrance.com/code.aspx?ID=3886

c pour xp mais pour 98 ça doit pas etre trop dur de l'adapter.

Sinon, g récupéré un tit bout de code je ne sais plus où. A mettre dans un module, tu peux toujours essayer :

'
' UTILISATION : KillProcessus "truc.exe"
'

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
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long

Const MAX_PATH As Integer = 260

Private Type LUID
    LowPart As Long
    HighPart As Long
End Type

Private Type LUID_AND_ATTRIBUTES
    pLuid As LUID
    Attributes As Long
End Type

Private Type TOKEN_PRIVILEGES
    PrivilegeCount As Long
    TheLuid As LUID
    Attributes As Long
End Type

Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szexeFile As String * MAX_PATH
End Type

Private Function ProcessTerminate(Optional lProcessID As Long, Optional lHwndWindow As Long) As Boolean
     Dim lhwndProcess As Long
     Dim lExitCode As Long
     Dim lRetVal As Long
     Dim lhThisProc As Long
     Dim lhTokenHandle As Long
     Dim tLuid As LUID
     Dim tTokenPriv As TOKEN_PRIVILEGES, tTokenPrivNew As TOKEN_PRIVILEGES
     Dim lBufferNeeded As Long     Const PROCESS_ALL_ACCESS &H1F0FFF, PROCESS_TERMINAT &H1     Const ANYSIZE_ARRAY 1, TOKEN_ADJUST_PRIVILEGES &H20     Const TOKEN_QUERY &H8, SE_DEBUG_NAME As String "SeDebugPrivilege"
     Const SE_PRIVILEGE_ENABLED = &H2

     On Error Resume Next
     If lHwndWindow Then
        lRetVal = GetWindowThreadProcessId(lHwndWindow, lProcessID)
     End If
     If lProcessID Then
        lhThisProc = GetCurrentProcess
        OpenProcessToken lhThisProc, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, lhTokenHandle
        LookupPrivilegeValue "", SE_DEBUG_NAME, tLuid
        tTokenPriv.PrivilegeCount = 1
        tTokenPriv.TheLuid = tLuid
        tTokenPriv.Attributes = SE_PRIVILEGE_ENABLED
        AdjustTokenPrivileges lhTokenHandle, False, tTokenPriv, Len(tTokenPrivNew), tTokenPrivNew, lBufferNeeded
        lhwndProcess = OpenProcess(PROCESS_TERMINAT, 0, lProcessID)
        If lhwndProcess Then
         ProcessTerminate = CBool(TerminateProcess(lhwndProcess, lExitCode))
         Call CloseHandle(lhwndProcess)
        End If
     End If
     On Error GoTo 0
End Function

Public Function KillProcessus(ByVal sProcessNameExe As String) As String
     Dim i As Integer
     Dim hSnapshot As Long
     Dim uProcess As PROCESSENTRY32
     Dim r As Long
     Dim nom(1 To 100)
     Dim num(1 To 100)
     Dim nr As Integer
     Const TH32CS_SNAPPROCESS As Long = 2&
     
     nr = 0
     hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
     If hSnapshot = 0 Then Exit Function
     uProcess.dwSize = Len(uProcess)
     r = ProcessFirst(hSnapshot, uProcess)
     Do While r
        nr = nr + 1
        nom(nr) = uProcess.szexeFile
        num(nr) = uProcess.th32ProcessID
        r = ProcessNext(hSnapshot, uProcess)
     Loop
     For i = 1 To nr
         If InStr(UCase(nom(i)), UCase(sProcessNameExe)) <> 0 Then
            ProcessTerminate (num(i))
            Exit For
         End If
     Next i
End Function


Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0

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

Posez votre question
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
17 août 2004 à 20:45
Thx ça march super !

-=Ar$£nik=-
0
Rejoignez-nous