|
|
Postada em 14/05/2008 16:08 hs
Boa tarde gente, Gostaria de saber se é possível fazer isso. Queria que enquanto o programa estivesse rodando nada mais rodasse no windows, tipo assim, na hora que eu abrir o programa o restante da tela fique travado, não permitindo o acesso a nenhum outro programa e nem ao menu iniciar do windows. caso outro programa fosse ser aberto teria que ser através de um botão no programa, tipo, word, excel, teriam um botão no programa para chamar o aplicativo. mas o mais importante é que nenhum outro programa pudesse rodar enquanto o meu programa estivesse funcionando. Será que tem jeito de fazer isso? Grata, Amanda
|
|
|
|
|
|
|
|
Postada em 14/05/2008 16:25 hs
aqueles programas de lan house funcionam assim, mas acho que eles usam um firewall e la voce define quais os programas podem ser executados, pra executar precisa digitar uma senha.
|
|
|
|
|
|
Postada em 19/05/2008 14:47 hs
ok, é mais ou menos aquilo mesmo que eu estou precisando, alguém sabe como se faz? obrigada, Amanda
|
|
|
|
|
|
Postada em 19/05/2008 18:06 hs
Amanda se puder se registrar no site seria bom..
para que um formulário pegue a tela inteira (no VB6) na propriedade do formulário (form1 por exemplo)
.borderstyle=NONE .windowstate = 2-Maximized
isso faria com que o seu formulário fique com tela inteira, até mesmo esconder a sua barra de tarefa. bom agora vamos desabilitar a tecla Windows do teclado
1) Crie um módulo e cole isso nele: '------------------------------------------------------------------------------- Option Explicit Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long Public Const HC_ACTION = 0 Public Const WM_KEYDOWN = &H100 Public Const WM_KEYUP = &H101 Public Const WM_SYSKEYDOWN = &H104 Public Const WM_SYSKEYUP = &H105 Public Const VK_TAB = &H9 Public Const VK_CONTROL = &H11 Public Const VK_ESCAPE = &H1B Public Const VK_STARTKEY = &H5B
Public Const WH_KEYBOARD_LL = 13 Public Const LLKHF_ALTDOWN = &H20 Public Type KBDLLHOOKSTRUCT vkCode As Long scanCode As Long flags As Long time As Long dwExtraInfo As Long End Type Dim p As KBDLLHOOKSTRUCT Function LowLevelKeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim fEatKeystroke As Boolean If (nCode = HC_ACTION) Then If wParam = WM_KEYDOWN Or wParam = WM_SYSKEYDOWN Or wParam = WM_KEYUP Or wParam = WM_SYSKEYUP Then CopyMemory p, ByVal lParam, Len(p) fEatKeystroke = _ ((p.vkCode = VK_ESCAPE) And ((GetKeyState(VK_CONTROL) And &H8000) <> 0)) Or _ p.vkCode = VK_STARTKEY End If End If If fEatKeystroke Then LowLevelKeyboardProc = -1 Else LowLevelKeyboardProc = CallNextHookEx(0, nCode, wParam, ByVal lParam) End If End Function '------------------------------------------------------------------------------- 2) No form coloque assim: '------------------------------------------------------------------------------- Dim hhkLowLevelKybd as Long Private Sub Form_Load() hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0) End Sub Private Sub Form_Unload(Cancel As Integer) UnhookWindowsHookEx hhkLowLevelKybd hhkLowLevelKybd = 0 End Sub
ao carregar o form ele trava o CTRL+ESC, ao fechar ele habilita de novo
Esse código aew ganhei do amigo ghost_jlp rsss ótimo código! tem para travar todo o teclado tbm. Ok..
|
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
Postada em 19/05/2008 18:42 hs
Só pra complementar a dica do IceEyes, a forma que ele expôs é a mesma que utilizei, em um programa que criei anteriormente, apenas acrecentei mais algumas coisas, na realidade criei o form de tela cheia, como se fosse um novo desktop,coloquie plano de fundo, e inclui icones de acessos aos programas exclusivos, e coloquei um código pra iniciar o programa junto com windows, neste desktop ao se clicar com o botão direito havia a possibilidade de se alterar o fundo (Wallpaper) inclui o relógio e mais algumas coisas ficou muito bom, faça isto também você vai ver como é fácil, detalhe algumas coisas devem estar desabilitadas, como o autorun do cd, para impedir que se instale alguns programas no seu PC. Bom e é isso ai. A dica do IceEyes é o caminho.
|
|
|
|
|