Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: xmbeat en Abril 22, 2010, 01:49:18 pm
-
se que leandro en su antikeylogger lo hizo pero entre tanto code no lo encuentro. Ademas si lo encuentro es posible que no lo entienda. Porfa me dan una explicada de las API que usa y como
-
no se si entendi la pregunta pero si vos queres saber si una ventana es de tipo Edit pode hacerlo con el className
Option Explicit
Private Declare Function GetClassNameA Lib "user32" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Function GetClassName(ByVal hwnd As Long) As String
Dim sBuff As String
sBuff = String(255, Chr$(0))
Call GetClassNameA(hwnd, sBuff, 255)
GetClassName = Left$(sBuff, InStr(sBuff, Chr$(0)) - 1)
End Function
Private Sub Form_Load()
MsgBox GetClassName(Me.hwnd)
End Sub
[code]
pero bueno hay ventanas que son edit y no tiene ese classname como por ejemplo los textbox de vb, tubiera que ver si hay otra forma.
-
lo que yo queria es si por ejemplo tengo un handle de una ventana y quiero saber si el elemento hijo que tiene el foco es es tipo TEXTBOX (como combobox, textbox, etc)para que yo hacerle un sendmessage de GETTEXT. creo es esto pero no estoy seguro, y si es entonces una explicada
'Funcion que devuelve el control Hijo que tiene el foco
Private Function GetFocusEx() As Long
Dim hFore As Long, hFocus As Long
'hFocus = GetFocus
'If hFocus = 0 Then
hFore = GetForegroundWindow()
Call AttachThreadInput(GetWindowThreadProcessId(hFore, 0&), GetCurrentThreadId, True)
hFocus = GetFocus
Call AttachThreadInput(GetWindowThreadProcessId(hFore, 0&), GetCurrentThreadId, False)
'End If
GetFocusEx = hFocus
End Function
-
Hola xmbeat , probá si te sirve EM_GETLIMITTEXT
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const EM_GETLIMITTEXT = &HD5
Public Function EsEdit() As Boolean
If SendMessage(GetFocusEx, EM_GETLIMITTEXT, 0, 0) <> 0 Then EsEdit = True
End Function
-
lo del sendmessage no hay problema. lo que quiero es si el control que tiene el foco es del tipo textbox o combobox
asi le hizo leandro con el antikeylogger el cual el tecladito se mostraba solo cuando el foco lo tenia este tipo de controles
-
yo verificaba si era de tipo ES_PASSWORD pero tampoco es una seguridad algunas veces vi que cuando tomaba foco un toolbar aparecia la ventanita, esto seguramente porque este tendria alguna constante con los mismos valores.
Saludos.