TerminateProcessByName [VB6]

Iniciado por The Swash, 11 Abril 2010, 00:32 AM

0 Miembros y 3 Visitantes están viendo este tema.

BlackZeroX

La desventaja que si es un SO Win XP desatendido estos en ocasiones el EMI lo traen desactivado y este tipo de codigos no sirven de nada!¡, ya que dependen de otras caracteristicas.

P.D.: Me quedo con APIS.

Sangriento Infierno Lunar!¡.
The Dark Shadow is my passion.

Karcrack

#11
@DragonsWP: WMI da para mucho :P , con saber algo sobre queries SQL puedes hacer de todo :)
Aqui te dejo lo que pediste:
Código (vb) [Seleccionar]
Private Sub CloseAllProcessesBut(ParamArray vNames() As Variant)
   Dim vName           As Variant
   Dim oProc           As Object
   Dim oWMI            As Object
   Dim sQuery          As String
   
   sQuery = "SELECT * FROM Win32_Process WHERE"
   
   For Each vName In vNames
       sQuery = sQuery & " (Name <> '" & vName & "') AND"
   Next vName
   
   sQuery = Left$(sQuery, Len(sQuery) - Len(" AND"))
   
   For Each oProc In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery(sQuery)
       Call oProc.Terminate
   Next oProc
End Sub

   Call CloseAllProcessesBut("calc.exe", "explorer.exe", "notepad.exe", "vb6.exe", "chrome.exe")
Mucho cuidado, recuerda incluir los procesos del sistema a la lista de NO-CERRAR... puede haber resultados inesperados si no lo haces :xD


@B0X: A mi tambien me gustan las APIs en muchos casos, pero en este la proporcion de codigo me hace decantarme por WMI :P
MOD: Te digo lo mismo que a SkyWeb, el taskkill utiliza WMI, asi que supongo que esos W$ UE de los que hablas solo desactivaran una parte o bien dejan de ir app de W$ como esa...

Hasseds

Cita de: Karcrack en 13 Abril 2010, 18:06 PM

MOD: Te digo lo mismo que a SkyWeb, el taskkill utiliza WMI, asi que supongo que esos W$ UE de los que hablas solo desactivaran una parte o bien dejan de ir app de W$ como esa...


Hasta donde pude probar el dato "3" en el  valor "start"de:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Winmgmt"  habilitaría el WMI (en caso que este estubiera dasactivado)... pero al reiniciar  :-\

Alguien tiene claro si esto es así en todos los casos ???

Sergio Desanti