comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Cambiar texto a botones de MsgBox

  • 3 Respuestas
  • 5538 Vistas

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5377
  • Actividad:
    76.67%
  • Reputación 31
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Julio 26, 2010, 03:52:43 pm »
Modulo:

Código: Visual Basic
  1. Public hHook As Long
  2. Public Const WH_CALLWNDPROCRET = 12
  3. Public Const GWL_HINSTANCE = (-6)
  4. Private Type tagCWPRETSTRUCT
  5.     lResult As Long
  6.     lParam As Long
  7.     wParam As Long
  8.     message As Long
  9.     hWnd As Long
  10. End Type
  11. Private Const WM_INITDIALOG = &H110
  12. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
  13.     (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  14. Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
  15. Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
  16.     (ByVal idHook As Long, ByVal lpfn As Long, _
  17.     ByVal hmod As Long, ByVal dwThreadId As Long) As Long
  18. Private Declare Function UnhookWindowsHookEx Lib "user32" _
  19.     (ByVal hHook As Long) As Long
  20. Private Declare Function CallNextHookEx Lib "user32" _
  21.     (ByVal hHook As Long, ByVal nCode As Long, _
  22.     ByVal wParam As Long, lParam As Any) As Long
  23. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
  24.     (Destination As Any, Source As Any, ByVal Length As Long)
  25. Private Const IDOK = 1
  26. Private Const IDCANCEL = 2
  27. Private Const IDABORT = 3
  28. Private Const IDRETRY = 4
  29. Private Const IDIGNORE = 5
  30. Private Const IDYES = 6
  31. Private Const IDNO = 7
  32. Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _
  33.     (ByVal hDlg As Long, ByVal nIDDlgItem As Long, _
  34.     ByVal lpString As String) As Long
  35. Public Function CallWndRetProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  36.     Dim lr As Long
  37.     Dim s As tagCWPRETSTRUCT
  38.     lr = CallNextHookEx(hHook, nCode, wParam, lParam)
  39.     If (nCode < 0) Then
  40.         CallWndRetProc = lr
  41.         Exit Function
  42.     End If
  43.     Call CopyMemory(s, ByVal lParam, Len(s))
  44.     If (s.message = WM_INITDIALOG) Then
  45.         Call SetDlgItemText(s.hWnd, IDYES, "Aprobar")
  46.         Call SetDlgItemText(s.hWnd, IDNO, "Rechazar")
  47.         UnhookWindowsHookEx hHook
  48.         lr = 0&
  49.     End If
  50.     CallWndRetProc = lr
  51. End Function

FORM:

Código: Visual Basic
  1.  Dim hInst As Long
  2.     Dim Thread As Long
  3.     Dim i As Long
  4.     hInst = GetWindowLong(Me.hWnd, GWL_HINSTANCE)
  5.     Thread = GetCurrentThreadId()
  6.     hHook = SetWindowsHookEx(WH_CALLWNDPROCRET, AddressOf CallWndRetProc, hInst, Thread)
  7.     i = MsgBox("Presiona en Aprobar o Rechazar.", vbYesNo)
  8.     If i = vbYes Then
  9.         Label1 = "Has presionado en Aprobar"
  10.     ElseIf i = vbNo Then
  11.         Label1 = "Has presionado en Rechazar"
  12.     End If
« Última modificación: Mayo 12, 2014, 03:39:56 pm por Expermicid »


Desconectado JOSE.HABANERO

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Agosto 20, 2013, 07:34:21 pm »
Hola, gracias por tu aporte.
Me da un error de compilacion en la linea hHook =    hHook = SetWindowsHookEx(WH_CALLWNDPROCRET, AddressOf CallWndRetProc, hInst, Thread)
en concreto AddressOf CallWndRetProc (Error de compilacion, no coinciden los tipos)
Estoy con acces 2010 y windows 7 64 bits
Soy nuevo y estoy aprendiendo.
Gracias anticipadas.

Desconectado Danyfirex

  • *
  • Underc0der
  • Mensajes: 22
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Agosto 20, 2013, 10:52:45 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Hola, gracias por tu aporte.
Me da un error de compilacion en la linea hHook =    hHook = SetWindowsHookEx(WH_CALLWNDPROCRET, AddressOf CallWndRetProc, hInst, Thread)
en concreto AddressOf CallWndRetProc (Error de compilacion, no coinciden los tipos)
Estoy con acces 2010 y windows 7 64 bits
Soy nuevo y estoy aprendiendo.
Gracias anticipadas.
y acces que tendría que ver.

probado en windows Xp Visual Basic 6.0 y funciona perfecto.

saludos

Desconectado [L]ord [R]NA

  • *
  • Underc0der
  • Mensajes: 89
  • Actividad:
    0%
  • Reputación 0
  • H-Sec
    • Ver Perfil
  • Skype: lordrna
  • Twitter: lordrna
« Respuesta #3 en: Agosto 23, 2013, 01:23:19 pm »
Erase una vez que hace unos años se escribio un post y el publico grito:  "Dejen de revivir Posts!!!"

 

¿Te gustó el post? COMPARTILO!



Pasar datos de un campo MEMO a un campo TEXTO en Access

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2501
Último mensaje Julio 26, 2010, 03:56:45 pm
por ANTRAX
Como impedir cambiar el tamaño de una ventana redimensionable

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1579
Último mensaje Julio 26, 2010, 11:33:48 am
por ANTRAX
Como cambiar de color una columna de MSFlexgrid

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2408
Último mensaje Julio 26, 2010, 11:30:30 am
por ANTRAX
Cambiar el nombre del ordenador (A pura API)

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1135
Último mensaje Julio 26, 2010, 12:19:48 pm
por ANTRAX
Cambiar Fecha u Hora del Sistema

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1370
Último mensaje Julio 26, 2010, 01:39:27 pm
por ANTRAX