send
Grupo de Telegram
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
  • 5165 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5283
  • Actividad:
    35%
  • Reputación 28
  • 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 »
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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: 86
  • 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: 2317
Ú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: 1486
Ú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: 2262
Ú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: 1063
Último mensaje Julio 26, 2010, 12:19:48 pm
por ANTRAX
Cambiar Fecha u Hora del Sistema

Iniciado por ANTRAX

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