URGENTE: Anular uso de la Tecla Win

09/07/2003 - 16:03 por Anonimo | Informe spam
Hola necesitaria saber si alguien puede decirme como anular o bloquear desde
Visual Basic la tecla Win del teclado, para evitar que desde mi programa
entren al menu Inicio.
Si teiene el codigo, gracias

Preguntas similare

Leer las respuestas

#1 Federico A. Colli
09/07/2003 - 19:47 | Informe spam
Y si cliquean sobre el botón Inicio?
Para esto te conviene ocultar dicho botón, prueba este código:

Const SWP_HIDEWINDOW = &H80
Const SWP_SHOWWINDOW = &H40
Const GW_CHILD = 5
Const GW_HWNDNEXT = 2
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long,
ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As
Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal
wCmd As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA"
(ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long)
As Long
Dim tWnd As Long, bWnd As Long, sSave As String * 250
Private Sub Form_Load()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail:

'This code will hide the Start-button
'Find the taskbar's handle
tWnd = FindWindow("Shell_traywnd", vbNullString)
'Search for a child window
bWnd = GetWindow(tWnd, GW_CHILD)
Do
'get the child window's classname
GetClassName bWnd, sSave, 250
'We have the handle of the Start button If the classname is 'button'
If LCase(Left$(sSave, 6)) = "button" Then Exit Do
'Search the next child
bWnd = GetWindow(bWnd, GW_HWNDNEXT)
Loop
'Hide the start button
SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
End Sub

Private Sub Form_Unload(Cancel As Integer)
'Show the start button
SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW
End Sub

(AUS) Federico A. Colli

escribió en el mensaje
news:eHuA$
Hola necesitaria saber si alguien puede decirme como anular o bloquear


desde
Visual Basic la tecla Win del teclado, para evitar que desde mi programa
entren al menu Inicio.
Si teiene el codigo, gracias


Respuesta Responder a este mensaje
#2 Juvenal León
10/07/2003 - 09:54 | Informe spam
En la página del Guille (lo del hook):

http://guille.costasol.net/API/desh...AltTab.asp


Juvenal León


Federico A. Colli escribió en el mensaje de noticias

Me imaginé, entonces deberías hacer un Hook del sistema para capturar las
teclas que se van presionando y eliminando del buffer esas en particular,
eso si, a eso no se hacerlo.

Saludos
(AUS) Federico A. Colli

escribió en el mensaje
news:
> Gracias por el dato, la funcion esta muy buena, pero el problema es que


la
> tecla Windows sigue funcionando perfectamente. Ademas yo en mi programa


ya
> escondi (hiden) de toda la barra de aplicaciones desde Visual, o sea que
el
> problema no es visible, sino solo la tecla Windows, quiero que cuando la
> presione, (ya sea la izq(91) o la derecha(92) y la que esta al lado de


la
> derecha (seria la del boton derecho del mouse (93), no haga


absolutamente
> nada. la verdad se me complica un poco,
> De todos modos te agradezco muchisimo la respuesta
> si sabes como hacer lo que necesito please, decimelo. Chau hasta luego.
>
>
> Gracias
> Mi correo es
>
>
> "Federico A. Colli" ha scritto nel messaggio
> news:
> > Y si cliquean sobre el botón Inicio?
> > Para esto te conviene ocultar dicho botón, prueba este código:
> >
> > Const SWP_HIDEWINDOW = &H80
> > Const SWP_SHOWWINDOW = &H40
> > Const GW_CHILD = 5
> > Const GW_HWNDNEXT = 2
> > Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As


Long,
> > ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal
cx
> As
> > Long, ByVal cy As Long, ByVal wFlags As Long) As Long
> > Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
> (ByVal
> > lpClassName As String, ByVal lpWindowName As String) As Long
> > Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long,
ByVal
> > wCmd As Long) As Long
> > Private Declare Function GetClassName Lib "user32" Alias


"GetClassNameA"
> > (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As
Long)
> > As Long
> > Dim tWnd As Long, bWnd As Long, sSave As String * 250
> > Private Sub Form_Load()
> > 'KPD-Team 1999
> > 'URL: http://www.allapi.net/
> > 'E-Mail:
> >
> > 'This code will hide the Start-button
> > 'Find the taskbar's handle
> > tWnd = FindWindow("Shell_traywnd", vbNullString)
> > 'Search for a child window
> > bWnd = GetWindow(tWnd, GW_CHILD)
> > Do
> > 'get the child window's classname
> > GetClassName bWnd, sSave, 250
> > 'We have the handle of the Start button If the classname is
> 'button'
> > If LCase(Left$(sSave, 6)) = "button" Then Exit Do
> > 'Search the next child
> > bWnd = GetWindow(bWnd, GW_HWNDNEXT)
> > Loop
> > 'Hide the start button
> > SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
> > End Sub
> >
> > Private Sub Form_Unload(Cancel As Integer)
> > 'Show the start button
> > SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW
> > End Sub
> >
> > (AUS) Federico A. Colli
> >
> > escribió en el mensaje
> > news:eHuA$
> > > Hola necesitaria saber si alguien puede decirme como anular o


bloquear
> > desde
> > > Visual Basic la tecla Win del teclado, para evitar que desde mi
programa
> > > entren al menu Inicio.
> > > Si teiene el codigo, gracias
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#3 Federico A. Colli
10/07/2003 - 14:13 | Informe spam
Me imaginé, entonces deberías hacer un Hook del sistema para capturar las
teclas que se van presionando y eliminando del buffer esas en particular,
eso si, a eso no se hacerlo.

Saludos
(AUS) Federico A. Colli

escribió en el mensaje
news:
Gracias por el dato, la funcion esta muy buena, pero el problema es que la
tecla Windows sigue funcionando perfectamente. Ademas yo en mi programa ya
escondi (hiden) de toda la barra de aplicaciones desde Visual, o sea que


el
problema no es visible, sino solo la tecla Windows, quiero que cuando la
presione, (ya sea la izq(91) o la derecha(92) y la que esta al lado de la
derecha (seria la del boton derecho del mouse (93), no haga absolutamente
nada. la verdad se me complica un poco,
De todos modos te agradezco muchisimo la respuesta
si sabes como hacer lo que necesito please, decimelo. Chau hasta luego.


Gracias
Mi correo es


"Federico A. Colli" ha scritto nel messaggio
news:
> Y si cliquean sobre el botón Inicio?
> Para esto te conviene ocultar dicho botón, prueba este código:
>
> Const SWP_HIDEWINDOW = &H80
> Const SWP_SHOWWINDOW = &H40
> Const GW_CHILD = 5
> Const GW_HWNDNEXT = 2
> Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long,
> ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal


cx
As
> Long, ByVal cy As Long, ByVal wFlags As Long) As Long
> Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal
> lpClassName As String, ByVal lpWindowName As String) As Long
> Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long,


ByVal
> wCmd As Long) As Long
> Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA"
> (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As


Long)
> As Long
> Dim tWnd As Long, bWnd As Long, sSave As String * 250
> Private Sub Form_Load()
> 'KPD-Team 1999
> 'URL: http://www.allapi.net/
> 'E-Mail:
>
> 'This code will hide the Start-button
> 'Find the taskbar's handle
> tWnd = FindWindow("Shell_traywnd", vbNullString)
> 'Search for a child window
> bWnd = GetWindow(tWnd, GW_CHILD)
> Do
> 'get the child window's classname
> GetClassName bWnd, sSave, 250
> 'We have the handle of the Start button If the classname is
'button'
> If LCase(Left$(sSave, 6)) = "button" Then Exit Do
> 'Search the next child
> bWnd = GetWindow(bWnd, GW_HWNDNEXT)
> Loop
> 'Hide the start button
> SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
> End Sub
>
> Private Sub Form_Unload(Cancel As Integer)
> 'Show the start button
> SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW
> End Sub
>
> (AUS) Federico A. Colli
>
> escribió en el mensaje
> news:eHuA$
> > Hola necesitaria saber si alguien puede decirme como anular o bloquear
> desde
> > Visual Basic la tecla Win del teclado, para evitar que desde mi


programa
> > entren al menu Inicio.
> > Si teiene el codigo, gracias
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida