Página 1 de 1

C

Publicado: Jue Sep 14, 2006 10:05 pm
por Mariano Filippi
Hola...
Tengo un problema...
Quiero que mi programa al presionar la combinación de teclas ALT+F12 ejecute
una función.
Yo pongo este código...
SetKey(VK_F12,FALT,{||ModiFlag()})
.... y funciona bárbaro con el ALT izquierdo, pero con el derecho no
funciona.
probé con esto
SetKey( VK_F12, ,{|| If( HiByte(GetKeyState(VK_MENU)) > 0, ModiFlag(), ) } )
y no funciona con ninguno de los dos.
Tengo forma de hacerlo andar con el derecho también ???
Desde ya muchas gracias.

C

Publicado: Vie Sep 15, 2006 10:06 am
por Pedro Amaro
No es mucha la ayuda que te puedo dar pero lo que si se es que el Alt de la
derecha no es Alt sino AltGr que tiene otro codigo, no se cual, eso te toca
a ti averiguarlo.
Saludos
"Mariano Filippi" <marianofilippi@masterisi.com.ar> escribió en el mensaje
news:[email=4509b5fe@news.xailer.com...]4509b5fe@news.xailer.com...[/email]
> Hola...
>
> Tengo un problema...
> Quiero que mi programa al presionar la combinación de teclas ALT+F12
> ejecute una función.
>
> Yo pongo este código...
> SetKey(VK_F12,FALT,{||ModiFlag()})
> ... y funciona bárbaro con el ALT izquierdo, pero con el derecho no
> funciona.
>
> probé con esto
>
> SetKey( VK_F12, ,{|| If( HiByte(GetKeyState(VK_MENU)) > 0,
> ModiFlag(), ) } )
>
> y no funciona con ninguno de los dos.
>
> Tengo forma de hacerlo andar con el derecho también ???
>
> Desde ya muchas gracias.
>
>

C

Publicado: Vie Sep 15, 2006 11:49 am
por jfgimenez
Mariano,
> Tengo un problema...
> Quiero que mi programa al presionar la combinación de teclas ALT+F12
> ejecute una función.
>
> Yo pongo este código...
> SetKey(VK_F12,FALT,{||ModiFlag()})
> ... y funciona bárbaro con el ALT izquierdo, pero con el derecho no
> funciona.
>
> probé con esto
>
> SetKey( VK_F12, ,{|| If( HiByte(GetKeyState(VK_MENU)) > 0,
> ModiFlag(), ) } )
>
> y no funciona con ninguno de los dos.
>
> Tengo forma de hacerlo andar con el derecho también ???
Según la documentación del API de windows debería haber funcionado:
"An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL
and VK_MENU as indices into the array pointed to by lpKeyState. This gives
the status of the SHIFT, CTRL, or ALT keys without distinguishing between
left and right."
Pero he comprobado que efectívamente no funciona. Intentaremos corregirlo lo
antes posible. Gracias por la información.
--
Un saludo,
José F. Giménez
http://www.xailer.com

C

Publicado: Vie Sep 15, 2006 1:52 pm
por Mariano Filippi
Jose...
Gracias por la respuesta.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:450a7748$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Mariano,
>
>> Tengo un problema...
>> Quiero que mi programa al presionar la combinación de teclas ALT+F12
>> ejecute una función.
>>
>> Yo pongo este código...
>> SetKey(VK_F12,FALT,{||ModiFlag()})
>> ... y funciona bárbaro con el ALT izquierdo, pero con el derecho no
>> funciona.
>>
>> probé con esto
>>
>> SetKey( VK_F12, ,{|| If( HiByte(GetKeyState(VK_MENU)) > 0,
>> ModiFlag(), ) } )
>>
>> y no funciona con ninguno de los dos.
>>
>> Tengo forma de hacerlo andar con el derecho también ???
>
> Según la documentación del API de windows debería haber funcionado:
>
> "An application can use the virtual-key code constants VK_SHIFT,
> VK_CONTROL and VK_MENU as indices into the array pointed to by lpKeyState.
> This gives the status of the SHIFT, CTRL, or ALT keys without
> distinguishing between left and right."
>
> Pero he comprobado que efectívamente no funciona. Intentaremos corregirlo
> lo antes posible. Gracias por la información.
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
>