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?
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.
Cita de: Shell Root en 12 Septiembre 2010, 18:42 PM
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
WTF? Por ejemplo,
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
KillProcess ("WiNwOrD.exe")
KillProcess ("winword.exe")
KillProcess ("WINwORD.exe")
Todas funcionan,
Cita de: Shell Root en 12 Septiembre 2010, 18:48 PM
WTF? Por ejemplo,
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
KillProcess ("WiNwOrD.exe")
KillProcess ("winword.exe")
KillProcess ("WINwORD.exe")
Todas funcionan,
Soluucionado :-P
Pero te diste cuenta, del porque funcionan todos los ejemplos que te dí?
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
@Petro_Boca, eso quiere decir sí o no? xD
jajaja mira las siguientes 2 lineas,
'[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.
.
Espero que te sirva esto para la comparacion entre cadenas!¡.
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!¡.
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 =)