La Web del Programador: Comunidad de Programadores
 
    Pregunta:  17354 - IMPEDIR USO DE PRINT SCREEN ALT_PRINTSCREEN, COPIAR Y PEGAR
Autor:  bruno oab
Que tal amigos:

Por favor si alguien sabe como hacer para que dentro de una aplicaciòn vb, que muestra textos y graficos tipo acrobat yo pueda impedir que el usuario pueda capturar ya sea el texto o la imagen mostrada.

Gracias por anticipado

  Respuesta:  Le_Chuck Yop
No lo he probado mucho, pero podrias probar con algo de esto:

Const VK_CAPITAL = &H14
Const VK_NUMLOCK = &H90
Const VK_SCROLL = &H91
Const VK_USED = VK_SCROLL

Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, CapsLock As Boolean, kbOld As KeyboardBytes

Private Sub Form_Load()
'Obtiene el estado actual del teclado
GetKeyboardState kbOld
'Desactiva Bloq Mayus, NumLock, ScrollLock
TurnOff VK_CAPITAL
TurnOff VK_NUMLOCK
TurnOff VK_SCROLL

Private Sub TurnOn(vkKey As Long)
'Obtiene el estado del teclado
GetKeyboardState kbArray
'Cambia una tecla
kbArray.kbByte(vkKey) = 1
'Setea una tecla
SetKeyboardState kbArray
End Sub

Private Sub TurnOff(vkKey As Long)
'Obtiene el estado del eclado
GetKeyboardState kbArray
'Cambia una tecla
kbArray.kbByte(vkKey) = 0
'Setea el estado del teclado
SetKeyboardState kbArray
End Sub

Private Sub Form_Unload(Cancel As Integer)
'Reestablece el teclado
SetKeyboardState kbOld
End Sub