USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Travar tudo ( - mouse) e depois destravar tudo
Nortuno
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 14/05/2004 09:05 hs            
Queria criar um sistema que quando eu clicasse num botão ele travasse tudo (Botão Iniciar, CTRL+ALT+DEL, etc)... menos o mouse e quando eu clicasse em outro botão na mesma janela destravasse tudo.
 
ou seja, a janela vai ter 02 botões: TRAVAR e DESTRAVAR
o mouse, e os dois botões não poderão dicar travados e o resto sim!
 
Tem como?
Como seria o codigo?

Nightcrawler
(nortuno do filme do X-Men II)
   
Vaughyman
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 14/05/2004 09:30 hs            
===>PARA O BOTÃO INICIAR
'-----------------------------------Em um modulo
Public Declare Function FindWindow& Lib "user32" Alias "FindWindowA" (ByVal lpClassName$, ByVal lpWindowName$)
Public Declare Function EnumChildWindows Lib "user32" _
   (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, _
   ByVal lParam As Long) As Long
  
Declare Function GetClassName Lib "user32" Alias "GetClassNameA" _
   (ByVal hWnd As Long, ByVal lpClassName As String, _
   ByVal nMaxCount As Long) As Long
Public Declare Function EnableWindow Lib "user32" _
   (ByVal hWnd As Long, ByVal fEnable As Long) As Long
Public StartButtonhWnd As Long
  
Public Function EnumChildProc(ByVal lhWnd As Long, ByVal lParam As Long) _
   As Long
   Dim RetVal As Long
   Dim WinClassBuf As String * 255
   Dim WinClass As String
  
   RetVal = GetClassName(lhWnd, WinClassBuf, 255)
   WinClass = StripNulls(WinClassBuf)  ' remove extra Nulls & spaces
   If WinClass = "Button" Then
      StartButtonhWnd = lhWnd
      RetVal = EnableWindow(StartButtonhWnd, False)
      EnumChildProc = False  ' Stop looking
   Else
      EnumChildProc = True   ' Keep looking
   End If
End Function
Public Function StripNulls(OriginalStr As String) As String  
   If (InStr(OriginalStr, Chr(0)) > 0) Then
      OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
   End If
   StripNulls = OriginalStr
End Function
'-----------------------------------No Botão Desabilitar
Dim WinClass As String
Dim TaskBarHwnd As Long, lRet As Long, lParam As Long
'
WinClass = "Shell_TrayWnd"
'
TaskBarHwnd = FindWindow(WinClass, vbNullString)
'
lRet = EnumChildWindows(TaskBarHwnd, AddressOf EnumChildProc, lParam)
'-----------------------------------No Botão Habilitar
  Dim RetVal As Long
    If StartButtonhWnd <> 0 Then
        RetVal = EnableWindow(StartButtonhWnd, True)
    End If
 
o teclado é mais complicado pois teria que usar funções de captura de teclas exteriores ao seu programa.
 

"IF FUNCIONOU = TRUE THEN Emoções

     BLOQUEIE O POST

ELSE Emoções

    POST NOVAMENTE INFORMANDO O QUE ACONTECEU

ENDIF Emoções

   
Nortuno
não registrado
ENUNCIADA !
Postada em 14/05/2004 11:04 hs   
Testei aqui e deu certo... pena que é só para o botão Iniciar!
Eu queria tudo:
-CTRL+ALT+DEL
-ALT+TAB
-Desktop
....poder HABILITAR e DESABILITAR
 
Se alguem souber algum desses e poder me ensinar, serei grato
   
Wagner
SOROCABA
SP - BRASIL
ENUNCIADA !
Postada em 14/05/2004 12:41 hs            
Noturno, 
 
o Roberto me passou uma dll que trava mouse e teclado. Estou disponiblilizando ela na seção Troca de Arquivos.
 
O que vc pode fazer... p. ex., qdo clicar no Desabilitar, trazer um form que preencha a tela inteira sem os controles Max, Fechar, etc. somente com o botao Habilitar, chamando a dll somente para Bloquear o teclado.
 
No click do botao Desabilita (Form Principal):
 
Private Sub cmdDesabilita_Click()
  LockKeyboard True
  frmLock.show
  Me.Hide
End Sub
 
Para voltar, é só usar "LockKeyboard False", fechar o form de Bloqueio (frmLock) e trazer o form principal de novo. Não esqueça que o botão Habilitar tem que estar no form de Bloqueio.
 
Abaixo tem os procedimentos de habilitar e desabilitar o CRTL+ALT+DEL.
 
Sub Habilita_CRTL_ALT_DEL()
On Error Resume Next
   
    Dim lResult As Long
    Dim bBoolean As Boolean
    lResult = SystemParametersInfo(SCREENSAVERRUNNING, False, bBoolean, 0)
End Sub
 
Sub Desabilita_CRTL_ALT_DEL()
On Error Resume Next
   
    Dim lResult As Long
    Dim bBoolean As Boolean
   
    lResult = SystemParametersInfo(SCREENSAVERRUNNING, True, bBoolean, 0)
End Sub
 
Espero ter ajudado
 
Wagner R.
   
Nortuno
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 14/05/2004 20:59 hs            
Wagner
'no caso do CTRL+ALT+DEL
Quando executo ele diz que "SystemParametersInfo" não está definida.
 
'no caso do TRAVAR/DESTRAVAR TECLADO
Quando peço para travar ele deixa eu usar o CTRL+ESC (abrir o botão Iniciar) e o ALT+TAB (alternar entre tabelas).
 
Como faço para destravar isso tudo?
ALT+TAB
CTRL+ESC
 
 

Nightcrawler
(nortuno do filme do X-Men II)
TÓPICO EDITADO
 
Righi
BELO HORIZONTE
MG - BRASIL
ENUNCIADA !
Postada em 14/05/2004 22:22 hs            
Noturno, eu estou com o mesmo problema do seu.
O que eu preciso é não deixar o usuario fechar o programa "na marra". ele precisa colocar a senha e o usuario.
Alguem pode nos ajudar?

EmoçõesRighiEmoções

Beginner Game Developer!

duduchaves@uai.com.br

   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página