Power Builder - listado de procesos windows

   
Vista:
Imágen de perfil de Antonio

listado de procesos windows

Publicado por Antonio (1114 intervenciones) el 18/03/2009 00:20:55
Hola a todos:

¿alguno de ustedes sabe como obtener un listado de todos los procesos de Windows y como matar el proceso al mismo tiempo?

cualquier ayuda se los agradecere muchisimo...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:listado de procesos windows

Publicado por Jorge  (900 intervenciones) el 20/03/2009 16:20:26
Hola.

Hace un tiempo lo hice de dos maneras
esta es en Vbscrip saque datos de la MSN Library
Espero que te ayude
Saludos desde Argentina. !!!!
------------------------------------------------------------------------------------------------
Scrip para ver los procesos activos
tengo toda una aplicacion hecha por ello
van algunas lineas que seguro sabras obviar.
He matado procesos dentro de una Wan

----------------------------------------------------------------------------------------------------
If This.Text ="Mostrar Procesos" Then
This.Text ="Ocultar Procesos"
mle_1.Visible=true
cb_kill.Enabled=True
SetPointer ( HourGlass!)
OleObject mssc

int li_rc
String ls_code
Any res

String Computer
Int Estado

Computer = '"'+Trim(sle_1.Text)+'"'

//Open(w_wait)

mssc = CREATE OleObject
li_rc = mssc.ConnectToNewObject( "MSScriptControl.ScriptControl" )
mssc.language = "VBScript"

ls_code = "function services() ~r~n" + &
"strComputer=~".~"~r~n" + &
"Set objWMIService = GetObject(~"winmgmts:~"" + &
"& ~"{impersonationLevel=impersonate}!\~"" +&
" & "+Computer+" & ~" ootcimv2~")~r~n" +&
"Set colProcesses = objWMIService.ExecQuery(" + &
"~"select * from win32_process~" )~r~n" + &
"s = ~"~"~r~n" + &
"For Each objProcess In colProcesses~r~n" + &
" s = s & objProcess.Name & vbCr~r~n" + &
"Next~r~n" + &
"services = s~r~n" + &
"end function"

// MessageBox("Code","" + String(ls_Code))

mssc.AddCode(ls_code)

If Isnull(mssc.Eval("services()")) = True Then
MessageBox("Nulo","")
Goto finkill
Else
Res = mssc.Eval("services()")
End if

String Replace
String Find
long Start_pos =1

Find = CharA(13)
Replace = "~r~n"


start_pos = PosA(Res,Find,Start_Pos)

DO WHILE start_pos > 0
// Replace old_str with new_str.
Res = ReplaceA(Res, start_pos,LenA(find),Replace)
// Find the next occurrence of old_str.
start_pos = PosA(Res, Find,start_pos+LenA(Replace))
LOOP
mle_1.Text=String(res)
Procesos_Activos=String(res)
mssc.DisconnectObject()
DESTROY mssc

p_1.Visible=True
p_2.Visible=True
Else
mle_1.Visible=False
This.Text ="Mostrar Procesos"
cb_kill.Enabled=False
sle_kill.Text=""
End if
finkill:

---------------------------------------------------------------------------
---------------------------------------------------------------------------

Scrip Para matar el Proceso (mata por ej todos los notepad habietos)


OleObject mssc
int li_rc
string ls_code
long i
String Kill
String Terminate
Any res
String Computer
Int Estado

Computer = '"'+Trim(sle_1.Text)+'"'
Kill = "'" + Trim(sle_kill.Text) +".exe"+"'"
Terminate =Trim(sle_kill.Text)

If IsNull(kill) = False Then
mssc = CREATE OleObject
li_rc = mssc.ConnectToNewObject( "MSScriptControl.ScriptControl" )
mssc.language = "VBScript"

// Scrip de msdn Library
//strComputer = "FullComputerName"
//strDomain = "DOMAIN"
//strUser = InputBox("Enter user name")
//strPassword = InputBox("Enter password")
//Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
//Set objWMIService = objSWbemLocator.ConnectServer(strComputer, _
// "rootCIMV2", _
// strUser, _
// strPassword, _
// "MS_409", _
// "ntlmdomain:" + strDomain)
//Set colProcessList = objWMIService.ExecQuery _
// ("SELECT * FROM Win32_Process WHERE Name = 'notepad.exe'")
//For Each objProcess in colProcessList
// objProcess.Terminate()
//Next

ls_code = "function killaplicaciones() ~r~n" + &
"Set locator = CreateObject(~"WbemScripting.SWbemLocator~")~r~n" + &
"Set service = locator.ConnectServer("+Computer+")~r~n" + &
"Set props = service.ExecQuery" + &
"(~"select name, description from Win32_Process where name ="+kill+"~")~r~n" + &
"num = props.count~r~n" + &
"for each "+Terminate+" in props~r~n " + &
""+Terminate+".terminate ~r~n " + &
"next~r~n" + &
"killaplicaciones = num~r~n" + &
"end function"

// messagebox("", ls_code)

mssc.AddCode(ls_code)
i = mssc.Eval("killaplicaciones()")

Messagebox("Destructor ",+ "Se aniquilaron :"+ string(i) + " Trabajos")

mssc.DisconnectObject()
DESTROY mssc

p_1.Visible=False
p_2.Visible=False

//Refreshh de la INF
SetPointer ( HourGlass!)


mssc = CREATE OleObject
li_rc = mssc.ConnectToNewObject( "MSScriptControl.ScriptControl" )

mssc.language = "VBScript"

ls_code = "function services() ~r~n" + &
"strComputer=~".~"~r~n" + &
"Set objWMIService = GetObject(~"winmgmts:~"" + &
"& ~"{impersonationLevel=impersonate}!\~"" +&
" & "+Computer+" & ~" ootcimv2~")~r~n" +&
"Set colProcesses = objWMIService.ExecQuery(" + &
"~"select * from win32_process~" )~r~n" + &
"s = ~"~"~r~n" + &
"For Each objProcess In colProcesses~r~n" + &
" s = s & objProcess.Name & vbCr~r~n" + &
"Next~r~n" + &
"services = s~r~n" + &
"end function"

mssc.AddCode(ls_code)
Res = mssc.Eval("services()")

String Replace
String Find
long Start_pos =1

Find = CharA(13)
Replace = "~r~n"


start_pos = PosA(Res,Find,Start_Pos)
DO WHILE start_pos > 0
// Replace old_str with new_str.
Res = ReplaceA(Res, start_pos,LenA(find),Replace)
// Find the next occurrence of old_str.
start_pos = PosA(Res, Find,start_pos+LenA(Replace))
LOOP
mle_1.Text=String(res)
mssc.DisconnectObject()
DESTROY mssc
Else
MessageBox("Aniquilar ","" +"Selecciona el Laburo a Aniquilar !!")
end if
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
El otro Modo lo hice utilizando
tasklist.exe
taskKill.exe
de windows, cree un par de bat con parametoros utizando
la funcion run de pb, creando un archivo
p'lano, e importandolo desde una dw
------------------------------------------------------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar