requiero de buestra asistenciosa asistencia

Iniciado por The_Bug, 11 Noviembre 2009, 01:00 AM

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

The_Bug

emmm
toy temiando un programa y quiero q siertas partes del codigo se ejecuten al pulsar una convinacion de telas

ctrl+a
ctrl+d
ctrl+q
ctrl+etc...

el problema es que no tengo el foco sobre el formulario donde van a ejecutarse los metodos asociados al evento

si no que el foco esta en otra ventana (la ventanita del mu q cubre toda la pantalla)
y como no se me apetese abrir el Mu-Minimiser siempre que tiro un server
me gustaria saber como hacer q para cuando toco una convinacion de teclas mientras tengo el focus en esa otra pantalla mi prollecto pueda leer las pulsaciones y responder selectivamente dependiendo de la tecla q haya pulsado

solo eso

saludos :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :(
ARNOLDO SHARSENEGGEER!!!!

100% kissnerista!!! fuersa cristina!!!!!

el_aprendis0101@hotmail.com

agus0

Hola es facil con GetAsyncKeyState

ejemplo de Ctrl+a

En un Modulo (*.bas)


Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
Global v(44)
Global tx1
Public Const VK_A = &H41
Public Const VK_Control = vbKeyControl


en un Form


Private Sub Timer1_Timer()
If GetAsyncKeyState(VK_Control) * GetAsyncKeyState(VK_A) <> 0 Then
MsgBox "Apretaste CTRL+A"
End If
End Sub

BlackZeroX

lee un poco el foro hay informacion sobre esto, solo es un hook al teclado y con hotkeys (creoq eu asi se le llama)

Dulces lunas!¡.
The Dark Shadow is my passion.

h0oke

Seba se cansó de citar : "RegisterHotKeys".

Cita de: ░▒▓BlackZeroҖ▓▒░ en 11 Noviembre 2009, 02:08 AM
lee un poco el foro hay informacion sobre esto, solo es un hook al teclado y con hotkeys (creoq eu asi se le llama)

Coincido contigo.

The_Bug

Cita de: agus0 en 11 Noviembre 2009, 01:28 AM
Hola es facil con GetAsyncKeyState

ejemplo de Ctrl+a

En un Modulo (*.bas)


Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
Global v(44)
Global tx1
Public Const VK_A = &H41
Public Const VK_Control = vbKeyControl


en un Form


Private Sub Timer1_Timer()
If GetAsyncKeyState(VK_Control) * GetAsyncKeyState(VK_A) <> 0 Then
MsgBox "Apretaste CTRL+A"
End If
End Sub


entonces... lo que dise el segundo codigo es q dentro del loop se use la funcion  "GetAsyncKeyState" para leer las teclas precionadas

no me anda ese codigo...

y el primero ni me lo pudo interpretar el editor
ARNOLDO SHARSENEGGEER!!!!

100% kissnerista!!! fuersa cristina!!!!!

el_aprendis0101@hotmail.com

cassiani

The_Bug el primer trozo de code lo agregas a un módulo o le modificas y le dejas en el formulario y para el segundo debes agregar un timer y colocarle un intervalo.. si no, no te andara ..

The_Bug

se...
entiendo lo del timer
pero cuando ablamos de modulos...
¿que son los modulos?
y si quiero dejarlo en el formulario al codigo que define las cosas...
¿que procedimiento sigo?
ARNOLDO SHARSENEGGEER!!!!

100% kissnerista!!! fuersa cristina!!!!!

el_aprendis0101@hotmail.com

BlackZeroX

ok casi se saca de quisio pero nada mas recuerdo que yo igual estaba asi asi que te digo que ( en mente... "!$#&%&(%&$%#$&"$#$"#$#"$% y tambien "%&$%/%&(/&"#$"!%Y!%&$%&  y de igual forma Censurado )

No te creas es solo broma lo anterios


ve as menu proyecto y dale a modulo, en este ingresa alo que te han dicho... no se explicarte lo que es un modulo pero comprendo su funcionalidad

Saludos y dulces Lunas!¡.
The Dark Shadow is my passion.

pungados

Desde mi punto de vista, el módulo es un "formulario" sin la interfaz, que permite comunicar varios formularios. Al principio de la programación seguro lo uses para intercambiar variables entre formularios.
Yo lo usaba para eso, hasta que descubrí que desde el form1 (por ejemplo) se puede manipular el form2.
Ejemplo:
(formulario1)
form2.listadenombre.additem (lo que sea)

Saludos

h0oke

En programación estructurada, un módulo es un subprograma que resuelve un problema específico, aunque vb está basado en objetos no creo que pierda el sentido.

En cuanto a lo del timer, no es necesario, ya lo mencioné un poco más arriba : "RegisterHotKey"

http://msdn.microsoft.com/en-us/library/ms646309(VS.85).aspx

Un saludo!