Hola Pablo

 

 

En Fox, sinceramente, no lo pude hacer andar ( no le pude dedicar tiempo)
hice mas rápido haciéndolo en c++

 

Esta compilado con Vs2005 , en código no manejado, es decir, sin el frwk

 

Probalo en una maquina que no tenga el frwk, de última te lo compilo en vs 6

 

Teclas 

 

Bloquea combinaciones de Teclas de Windows: ALT+TAB - CTRL+ESC Y ALT+ESC y
MENU DE INICIO

 

Ejemplo 

 

 

Clear Dlls

       Declare Integer UnHookWinKey In "BlockKey.dll"

       Declare Integer IsBlocked In "BlockKey.dll"

       Declare Integer HookWinKey In "BlockKey.dll"

 

List Dlls

 

?IsBlocked()retorna 0 si ya esta blockeada 

?HookWinKey()retornan 0 si fue ok, y 1 si no pudo (chekea internamente si no
fue ya hecho)

?UnHookWinKey()retornan 0 si fue ok, y 1 si no pudo (chekea internamente si
no fue ya hecho)

 

 

Ya en la clase 

 

Clear 

Public oTest

oTest = CreateObject("BlockKey")

?oTest.HookKey()

?oTest.IsBlocked()

?oTest.UnHookKey()

oTest = null 

Release oTest

 

 

Define Class BlockKey as Session 

 *--

       Function Init()

         *--

       Declare Integer UnHookWinKey In "BlockKey.dll"

       Declare Integer IsBlocked In "BlockKey.dll"

       Declare Integer HookWinKey In "BlockKey.dll"

       *--

       EndFunc 

       *--

       Function HookKey()

        Return =HookWinKey()

     EndFunc 

       *--

       Function UnHookKey()

        Return =UnHookWinKey() 

       EndFunc 

       *--

       Function IsBlocked()

           Return =IsBlocked() 

       EndFunc 

       *--

       Function Destroy()

          *--

          =UnHookWinKey()

          Clear Dlls 

          *--

       EndFunc

       *--

 EndDefine     

     

 

*---------------------------------------------------------------------------
--------------------------------------------

Links de Interes 

 

Definiciones de Teclado que están aca

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI
/WindowsUserInterface/UserInput/VirtualKeyCodes.asp

 

Aquí el Hook para decirle a Windows que a lo que tiene que estar atento es
al teclado

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui
/windowsuserinterface/windowing/hooks/abouthooks.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui
/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/lowlevelke
yboardproc.asp

 

y necesitamos pasarle la info a Windows a traves de esta funcion

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui
/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/callnextho
okex.asp

 

Basado en este articulo

 

http://vbnet.mvps.org/index.html?code/hooks/lowlevelkeyboardproc.htm

 

y este ayudo

 

http://www.elguille.info/vb/API/deshabilitarAltTab.asp

http://www.news2news.com/vfp/?group=-1
<http://www.news2news.com/vfp/?group=-1&function=794> &function=794

 

 

Attachment: BlockKeys.rar
Description: Binary data

Responder a