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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 [137] 138 139 140 141 142 143
1361  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.
1362  Informática / Software / Re: Me peta los dvd a 80 % en: 5 Febrero 2006, 19:15 pm
Eso que te ocurre puede ser debido a muchas razones..
Prueba a utilizar otros cd's, mira a ver si tienes los codec's necesarios, pero la opción que estoy viendo es que tengas mal instalada la grabadora de DVD ya que has abierto otro post con ese problema.
Soluciona primero esto último y luego nos comentas..
1363  Programación / Programación Visual Basic / Re: Al pulsar Supr salga una letra en: 2 Febrero 2006, 17:53 pm
Muchas gracias el_chente23 por tu ayuda..
Lo probé y gracias a tu ayuda lo cambié a este otro para que Text1.text no sea sólo igual a p.

Código:
Private letra As String

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  letra = ""
  If KeyCode = 46 Then
    letra = "p"
    KeyCode = 0 'así no tiene que borrar el carácter
  End If
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
  If Len(letra) > 0 Then
    Text1.Text = Left(Text1, Text1.SelStart) _
                 + "p" _
                 + Right(Text1.Text, Len(Text1) - Text1.SelStart - 1)
  End If
End Sub


Casualidad de la vida, después un colega me indicó otro código mucho más sencillo y creo que es menos lioso y el más adecuado:

Código:
If KeyCode = vbKeyDelete Then 
KeyCode = 0 ' Anular el delete
SendKeys "{p}" ' Simular el tecleo de la p
End if

Gracias
1364  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??
1365  Informática / Software / Re: se bloquea el ordenador cuando inserto un cd o un dvd en: 31 Enero 2006, 15:39 pm
No, me refiero a la clavija que tienes que poner que hay fisicamente detrás de las unidades CD,DVD. Verás una clavija que puedes sacar y poner en tres posiciones diferentes. En una misma linea no puede haber ni dos master seguidos ni dos slaves seguidos tampoco.. Prueba a desconectar los cables y los vuelves a poner...

PD. Cuando se bloquea todo el ordenador es porque tu ordenador da preferencia a la lectura de tu CD o DVD y ocupa todo en intentar leerlo.
Hay muchas causas que pueden provocar lo que comentas como es que tengas la lente sucia, que el CD,DVD esté corrupto, que tengas algún virus, que el CD,DVD esté rayado..bueno muchas cosas.

De todos modos cuando por este motivo se te bloquee el ordenador pulsa el botón para abrir la bandeja de tu lector/grabador y probablemente vuelva el ordenador a funcionar bien, porque ya no estará intentando leerlo..

Un salu2
1366  Informática / Software / Re: ayuda !! no se si falla la grabadora Lg ... en: 31 Enero 2006, 10:35 am
Para grabar películas existen programas muy buenos. Mi consejo es que te informes y utilices otro programa diferente del Nero para probar.
1367  Informática / Software / Re: Problema rarito... en: 31 Enero 2006, 10:27 am
Mi pregunta es: ¿No puedes seleccionar antes de grabar, arriba a la derecha imagen recorder por el grabador que tú quieras??

Sabes lo que hago yo para traerme cosas de un ordenador al mío?: utilizo el programa Filefone. Es interesante.
1368  Informática / Software / Re: se bloquea el ordenador cuando inserto un cd o un dvd en: 31 Enero 2006, 10:19 am
Te ha funcionado alguna vez bien?
Si no he entendido mal no funciona bien ni tu lector/grabador(es) ni tampoco tu disquetera...cierto??

Por lo que comentas, si no presenta nada ningún conflicto en administrador de dispositivos yo me inclino a que no tengas bien conectado estos dispositivos.

Abre tu ordenador y quita y vuelve a poner todos los cables que unen "tu ordenador" con las unidades CD-DVD, incluyendo tu disquetera y tu disco duro..
Tal vez no tengas una buena conexión. Pero fíjate sobre todo en las posiciones master y slave si están bien puestas.

Un saludo..
1369  Informática / Software / Re: dudaal montar una imagen en el imagedrive de nero en: 24 Enero 2006, 23:08 pm
Tal vez no te deje montar las imágenes porque la extensión de las mismas es diferente de nrg o iso que son las que el imagedrive de nero es capaz de montar.
Te recomiendo un buen programa: Daemon Tools. Crea las unidades virtuales necesarias y monta los cd's.
Espero se te solucione.
1370  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..



Páginas: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 [137] 138 139 140 141 142 143
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines