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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12
101  Programación / Programación Visual Basic / Ayuda en una función en: 6 Febrero 2006, 00:14 am
He encontrado una forma de interceptar el menú que sale cuando pulsamos con el botón derecho por ej. en un textbox.
El problema es que hay una función que no entiendo lo que hace, ¿me podéis ayudar?

Hay un formulario con un Textbox, un Command y un módulo.
El código es el siguiente:
En el formulario:
Código:
Option Explicit
Private mbCapturado As Boolean
Private Sub Command1_Click()
   If Not mbCapturado Then
        gHW = Text1.hWnd
        Activa
        mbCapturado = True
   Else
        mbCapturado = False
        Desactiva
        gHW = 0
   End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If mbCapturado Then Desactiva
End Sub

En el módulo esto:
Código:
Option Explicit

Public Declare Function SetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Public Declare Function CallWindowProc Lib "user32" _
Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _
ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long

Public Const GWL_WNDPROC = (-4)

Public Const WM_CONTEXTMENU = &H7B

Global lpPrevWndProc As Long
Global gHW As Long

Public Sub Activa()
    lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, _
    AddressOf gWindowProc)
End Sub

Public Sub Desactiva()
  Dim temp As Long
    temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)
End Sub

Public Function gWindowProc(ByVal hWnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
    If Msg = WM_CONTEXTMENU Then
        Debug.Print "Interceptado  WM_CONTEXTMENU ( " & Now & ")"
        gWindowProc = True
    Else ' Send all other messages to the default message handler
        gWindowProc = CallWindowProc(lpPrevWndProc, hWnd, Msg, wParam, _
                    lParam)
    End If
End Function

La función que no entiendo es Function gWindowProc. No sé lo que hace. ¿Es de windows? ¿Es predefinida?
En la primera sentencia if, hace: gWindowProc = True. Viendo esto yo he puesto directamente (dentro de Activa): lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, True), pero se "cuelga" el VB.

Alguien q tenga conocimientos me lo puede explicar un poco??
Muchas gracias.
102  Programación / Programación Visual Basic / Al pulsar Supr salga una letra en: 31 Enero 2006, 23:46 pm
A ver si me podéis ayudar:
Quiero pulsar la tecla Supr y que en un Textbox escriba una letra, por ejemplo la p.

Yo lo que he intentado hacer es esto:
Código:
Private Sub Text1_KeyDown(KeyCode As Integer, _
                            Shift As Integer)
    If KeyCode = 46 Then
       KeyCode = 80
    End If
   
End Sub

Me echáis un cable??
103  Programación / Programación Visual Basic / Traduciendo Inno Setup en: 16 Enero 2006, 17:14 pm
Hola a todos, estoy traduciendo el programa Inno Setup Compiler 5.1.6 al español. Me quedan por traducir unos términos, a ver si me podéis echar un cable.

Cómo traduzco:
Build: Se encuentra en la barra de estado, el cuarto menú.
Target Setup y Target Uninstall: Se encuentran en la barra de herramientas.
Compiler Output y Debug Output: Se pueden mostrar u ocultar y están abajo. No sé muy bien para qué valen..



104  Programación / Programación Visual Basic / Programa para empaquetar la aplicación en: 9 Enero 2006, 22:30 pm
Qué programa me recomendáis para empaquetar una aplicación que he terminado.??
El asistente de VB la verdad no deja muchas opciones de configuración. He estado viendo tb el installshield pero lo veo muy lioso..
Gracias
105  Programación / Programación Visual Basic / Abrir base de datos con contraseña en: 7 Enero 2006, 20:22 pm
Por mucho que he buscado no encuentro solución.

Tengo una base de datos .mdb. Para que no se abra desde Access le he puesto una contraseña.

Ahora bien, quiero abrirla desde VB. He abierto la base de datos desde el control de datos Data. Y:

Código:
Form1.Data1.RecordSource = "SELECT * FROM Tabla1 WHERE nombre LIKE '*M*' ORDER BY nombre"
    Form1.Data1.Refresh 'aquí me da error 3031 No es válida la contraseña.

Cómo pongo la contraseña? La contraseña es "contraseña".
106  Programación / Programación Visual Basic / sustituir una cadena en: 2 Enero 2006, 21:25 pm
Tengo esto en un módulo .bas que va todo bien:

Form1.Data1.RecordSource = "SELECT * FROM Tabla1 WHERE referencia LIKE '5*' ORDER BY referencia"

para que busque en el campo referencia todas las que empiecen con 5 y me las ordene.

Tengo esto otro en un formulario antes de hacer la llamada a la subrutina del módulo .bas:
valor = "referencia"
lo he definido como string.

y lo que quiero hacer es sustituir referencia de arriba por valor.. y no lo consigo, le he puesto de todo, comillas, paréntesis y nada...

muchas gracias
107  Programación / Programación Visual Basic / Cerrar una base de datos en: 31 Diciembre 2005, 18:48 pm
Abrí una base de datos con el control de datos data.

Para hacer las consultas pienso que es mejor abrir la base de datos: Set Baseddatos = OpenDatabase("base.mdb").

Lógicamente el VB no me deja abrir la base de datos, porque ya la he abierto con el control de datos data..
Por mucho que he buscado no encuentro la manera de cerrar la base de datos para poder hacer las consultas..
Gracias
108  Programación / Programación Visual Basic / Error 91. Variable de tipo Object... en: 29 Diciembre 2005, 19:19 pm
Me ha dado error 91. Variable de tipo Object o la
variable de bloque With no está establecida, en una aplicación que estoy haciendo.
Estoy utilizando:
una base de datos: ejemplo.mdb
que contiene una tabla: tabla
y sólo le he puesto un campo: cantidad
con 5 registros: 1,2,3,4 y 5.
 He hecho un ejemplo típico sencillo donde me sigue tirando este error:

Private Sub Form_Load()
    Dim BaseDatos As Database
    Dim Tabla As Recordset
    Set BaseDatos = OpenDatabase("ejemplo.mdb")
   
'Aquí es donde me marca el error:
    Tabla.OpenRecordset ("SELECT * FROM tabla WHERE cantidad = 2")
End Sub
109  Programación / Programación Visual Basic / Bloquear un checkbox en: 28 Diciembre 2005, 02:37 am
Podríais decirme cómo puedo bloquear un checkbox para que no se modifique pero se vea??

si lo inhabilito (enable) pierde el color y parece como si no quisiera mostrar el contenido del checkbox..

Yo lo que quiero hacer es:
Check1.Locked = True

Gracias...
110  Programación / Programación Visual Basic / InhabilitarCajas: error en: 27 Diciembre 2005, 01:13 am
Hola a todos..

Estoy haciendo una aplicación para tratar una base de datos..
Pues bien, para que nadie modifique los textbox nada más ejecutar la aplicación, he puesto lo siguiente:

Private Sub Form_Load()
Grabar.Enabled = False
InhabilitarCajas
End Sub

Me da error en InhabilitarCajas:
Error de compilación
Procedimiento Sub o Function no definido.

Me echáis una mano???
Gracias. Estoy con VB6
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines