Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Petro_Boca en 12 Septiembre 2010, 18:38 PM

Título: se puede?
Publicado por: Petro_Boca en 12 Septiembre 2010, 18:38 PM
estoy haciendo un programa que cierra unos procesos..


se puede hacer q el programa no distinga entre mayusculas y minusculas?

por ejemplo...

tengo q cerrar el Ares.exe y yo en el code del programa pongo ares.exe

mayusculas...minusculas...


se puede?
Título: Re: se puede?
Publicado por: Shell Root en 12 Septiembre 2010, 18:42 PM
Código (dos) [Seleccionar]
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Alex>start winword
C:\Documents and Settings\Alex>start WinWord
C:\Documents and Settings\Alex>start WiNwOrD
C:\Documents and Settings\Alex>

Todas se ejecutan, no se si no te funciona para el cierre de procesos.
Título: Re: se puede?
Publicado por: Petro_Boca en 12 Septiembre 2010, 18:43 PM
Cita de: Shell Root en 12 Septiembre 2010, 18:42 PM
Código (dos) [Seleccionar]
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Alex>start winword
C:\Documents and Settings\Alex>start WinWord
C:\Documents and Settings\Alex>start WiNwOrD
C:\Documents and Settings\Alex>

Todas se ejecutan, no se si no te funciona para el cierre de procesos.


ahh sisis, yase eso, pero tendria que agrandar el codigo xD

ajajaj weno, si no queda otra.. :P
Título: Re: se puede?
Publicado por: Shell Root en 12 Septiembre 2010, 18:48 PM
WTF? Por ejemplo,
Código (vb,15) [Seleccionar]
Public Sub KillProcess(ByVal processName As String)
On Error GoTo ErrHandler
   Dim oWMI
   Dim ret
   Dim sService
   Dim oWMIServices
   Dim oWMIService
   Dim oServices
   Dim oService
   Dim servicename
   Set oWMI = GetObject("winmgmts:")
   Set oServices = oWMI.InstancesOf("win32_process")
   For Each oService In oServices
   
   servicename = LCase(Trim(CStr(oService.Name) & ""))
   
   If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then
       ret = oService.Terminate
   End If
   
   Next
   
   Set oServices = Nothing
   Set oWMI = Nothing
   
ErrHandler:
   Err.Clear
End Sub
'# http://www.configurarequipos.com/truco450.html

Call
Código (vb) [Seleccionar]
   KillProcess ("WiNwOrD.exe")
   KillProcess ("winword.exe")
   KillProcess ("WINwORD.exe")

Todas funcionan,
Título: Re: se puede?
Publicado por: Petro_Boca en 12 Septiembre 2010, 18:55 PM
Cita de: Shell Root en 12 Septiembre 2010, 18:48 PM
WTF? Por ejemplo,
Código (vb,15) [Seleccionar]
Public Sub KillProcess(ByVal processName As String)
On Error GoTo ErrHandler
   Dim oWMI
   Dim ret
   Dim sService
   Dim oWMIServices
   Dim oWMIService
   Dim oServices
   Dim oService
   Dim servicename
   Set oWMI = GetObject("winmgmts:")
   Set oServices = oWMI.InstancesOf("win32_process")
   For Each oService In oServices
   
   servicename = LCase(Trim(CStr(oService.Name) & ""))
   
   If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then
       ret = oService.Terminate
   End If
   
   Next
   
   Set oServices = Nothing
   Set oWMI = Nothing
   
ErrHandler:
   Err.Clear
End Sub
'# http://www.configurarequipos.com/truco450.html

Call
Código (vb) [Seleccionar]
   KillProcess ("WiNwOrD.exe")
   KillProcess ("winword.exe")
   KillProcess ("WINwORD.exe")

Todas funcionan,
Soluucionado :-P
Título: Re: se puede?
Publicado por: Shell Root en 12 Septiembre 2010, 18:56 PM
Pero te diste cuenta, del porque funcionan todos los ejemplos que te dí?
Título: Re: se puede?
Publicado por: Petro_Boca en 12 Septiembre 2010, 19:01 PM
Cita de: Shell Root en 12 Septiembre 2010, 18:56 PM
Pero te diste cuenta, del porque funcionan todos los ejemplos que te dí?

AHHH PARA YA CAII!


ehh es el mismo codigo q estoy usando :S (no es mio)


http://foro.portalhacker.net/index.php/topic,20327.0.html
Título: Re: se puede?
Publicado por: Shell Root en 12 Septiembre 2010, 19:23 PM
@Petro_Boca, eso quiere decir sí o no? xD
Título: Re: se puede?
Publicado por: Petro_Boca en 12 Septiembre 2010, 19:28 PM
Cita de: Shell Root en 12 Septiembre 2010, 19:23 PM
@Petro_Boca, eso quiere decir sí o no? xD

NO :P XD!
Título: Re: se puede?
Publicado por: Shell Root en 12 Septiembre 2010, 19:32 PM
jajaja mira las siguientes 2 lineas,
Código (vb) [Seleccionar]
'[SNIP]
    servicename = LCase(Trim(CStr(oService.Name) & ""))

    If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then
'[SNIP]

En la primera, que esta dentro del For Each, cada servicio pasa por la función LCase.
En la segunda, cuando realiza la comparación, el parámetro processName de la función KillProcess también pasa por la misma función.

PD: LCase, devuelve una cadena o un carácter convertidos en minúscula.
Título: Re: se puede?
Publicado por: BlackZeroX en 12 Septiembre 2010, 19:35 PM
.
Espero que te sirva esto para la comparacion entre cadenas!¡.

Código (vb) [Seleccionar]


Private Sub Form_Load()

'cadena1 es menor que cadena2    -1
'cadena1 es igual que cadena2     0
'cadena1 es mayor que cadena2     1
'cadena1 o cadena2 es Null   Null
   Select Case StrComp("ares.exe", "Ares.exe", vbBinaryCompare)
       Case 0
           MsgBox "Texto Esactamente Igual"
       Case Else '(1, -1)
           MsgBox "Cadenas Distintas"
   End Select
   Select Case StrComp("Ares.exe", "Ares.exe", vbBinaryCompare)
       Case 0
           MsgBox "Texto Esactamente Igual"
       Case Else '(1, -1)
           MsgBox "Cadenas Distintas"
   End Select
End Sub



Dulces Lunas!¡.
Título: Re: se puede?
Publicado por: Lunfardo en 12 Septiembre 2010, 20:02 PM
tambien podes usar el echo que la diferencia entre minusculas y mayusculas es constante, aunque no creo que se el metodo mas adecuado , pero funciona =P



bye



pd:blackzero es Exactamente, no esactamente =)