elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  No logro encontrar handle a SysListView32 de taskmanager
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: No logro encontrar handle a SysListView32 de taskmanager  (Leído 5,223 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: No logro encontrar handle a SysListView32 de taskmanager
« Respuesta #10 en: 9 Julio 2011, 06:17 am »

Estoy chequeando que el Tab Control es 1 (procesos)

el de Aplicaciones por ejemplo sería  0 (cero)
If SendMessage(HwTab, &H1300 + 11, 0, 0) = 0 Then



Private Const TCM_FIRST = &H1300 
Private Const TCM_GETCURSEL = (TCM_FIRST + 11)




gracias  ;D yo lo unico que no entendi muy bien fue la ultima parte:

Código:
HwTab = FindWindowEx(HwndTask, 0, "SysTabControl32", vbNullString)
   
   If SendMessage(HwTab, &H1300 + 11, 0, 0) = 1 Then
     HwLv = FindWindowEx(HwndTask, 0, "#32770", vbNullString)
     HwLv = FindWindowEx(HwLv, 0, "SyslistView32", vbNullString)
   End If

todo lo anterior y todas las demas funciones las entendi bien solo esta parte porq yo utilizaba esto:

Código:
     HwLv = FindWindowEx(HwndTask, 0, "#32770", vbNullString)
     HwLv = FindWindowEx(HwLv, 0, "SyslistView32", vbNullString)

por eso no entiendo bien que hace esto:


Código:
HwTab = FindWindowEx(HwndTask, 0, "SysTabControl32", vbNullString)
   
If SendMessage(HwTab, &H1300 + 11, 0, 0) = 1 Then


En línea

Hasseds

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: No logro encontrar handle a SysListView32 de taskmanager
« Respuesta #11 en: 9 Julio 2011, 06:36 am »


por eso no entiendo bien que hace esto:


Código:
HwTab = FindWindowEx(HwndTask, 0, "SysTabControl32", vbNullString)
  
If SendMessage(HwTab, &H1300 + 11, 0, 0) = 1 Then





Estoy chequeando que el Tab Control es 1 (procesos)

el de Aplicaciones por ejemplo sería  0 (cero)
If SendMessage(HwTab, &H1300 + 11, 0, 0) = 0 Then



Private Const TCM_FIRST = &H1300  
Private Const TCM_GETCURSEL = (TCM_FIRST + 11)



' Este es el Hwnd del TabControl (Pestañas de Aplicaciones, Procesos, rendimiento, Funciuones de Red, Usuarios)
HwTab = FindWindowEx(HwTask, 0, "SysTabControl32", vbNullString)


Y aquí chequeas que la Pestaña activa del TabControl sea igual a uno (la de procesos, que es la que contiene el SyslistView32 que te interesa,)
If SendMessage(HwTab, &H1300 + 11, 0, 0) = 1 Then


http://msdn.microsoft.com/en-us/library/bb760583(v=vs.85).aspx




Aclaracion: seria mas facil usar FindWindow en lugar de la Function HwndTask
Código
  1.   Dim HwTask As Long
  2.   Dim HwChild As Long
  3.   Dim HwTab As Long
  4.   Dim HwLv As Long
  5.  
  6.   HwTask = FindWindow("#32770", vbNullString) ' FindWindow en lugar de la Function HwndTask
  7.  
  8.  
  9.   If HwTask <> 0 Then
  10.     HwTab = FindWindowEx(HwTask, 0, "SysTabControl32", vbNullString)
  11.     If SendMessage(HwTab, &H1300 + 11, 0, 0) = 1 Then
  12.       HwChild = FindWindowEx(HwTask, 0, "#32770", vbNullString)
  13.       HwLv = FindWindowEx(HwChild, 0, "SyslistView32", vbNullString)
  14.     End If
  15.   End If
  16.  

Pero como hay mas ventanas en el sistema con la misma Disposición, (Por ejemplo Propiededes de Pantalla en XP), esto podría prestarse a errores y darte una mala información. Por eso en este caso es preferible usar la la Function HwndTask.

http://foro.elhacker.net/programacion_visual_basic/no_logro_encontrar_handle_a_syslistview32_de_taskmanager-t332950.0.html;msg1636759#msg1636759












« Última modificación: 9 Julio 2011, 18:45 pm por Hasseds » En línea

Sergio Desanti
Hasseds

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: No logro encontrar handle a SysListView32 de taskmanager
« Respuesta #12 en: 28 Agosto 2011, 19:51 pm »

Edito: olvidé unos parentesis en el codigo original

http://foro.elhacker.net/programacion_visual_basic/no_logro_encontrar_handle_a_syslistview32_de_taskmanager-t332950.0.html;msg1636759#msg1636759


Código:

Private Function IsWinBorder(ByVal hwnd As Long) As Boolean
   If (GetWindowLong(hwnd, &HFFF0) And &H800000) = &H800000 Then IsWinBorder = True
End Function


« Última modificación: 29 Agosto 2011, 04:08 am por Hasseds » En línea

Sergio Desanti
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: No logro encontrar handle a SysListView32 de taskmanager
« Respuesta #13 en: 28 Agosto 2011, 20:07 pm »

sale tio  gracias tu codigo me a ayudado bastante ;D
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda con mi app dentro del TaskManager
Programación Visual Basic
Anteros 0 881 Último mensaje 10 Marzo 2007, 14:36 pm
por Anteros
ayuda con comandos de msdos y taskmanager
Programación Visual Basic
Proxy Lainux 3 3,677 Último mensaje 31 Mayo 2008, 00:12 am
por Ch3ck
Como desactivar los tooltips de los SysListView32??
Programación Visual Basic
<[(x)]> 2 1,960 Último mensaje 10 Julio 2009, 23:17 pm
por <[(x)]>
Ayuda, no logro encontrar el nombre de administrador.
Nivel Web
Kaosk. 2 2,994 Último mensaje 19 Agosto 2010, 09:54 am
por Kaosk.
problema para encontrar el handle de una ventana
.NET (C#, VB.NET, ASP)
CH4ØZ 3 3,382 Último mensaje 10 Septiembre 2010, 02:08 am
por CH4ØZ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines