Hi gurus! With the help of the internet I have managed to get the below code to work for me; it disables the Print Screen button by registering it as a hotkey (so that people can't copy the data in a workbook). The below code disables the Print Screen button when it is pressed at the same time as Alt, Ctrl or Shift BUT when you press Ctrl+Alt+PrintScreen the print screen is not blocked.

Can anyone please shed some light on how to disable the printscreen when Ctrl+Alt+PrintScreen is pressed? Thank you in advance to everyone who takes a look! I'm stumped :/

Note I am using 64-bit excel (hence PtrSafe before Function).

Option Explicit
 
Private Declare PtrSafe Function RegisterHotKey Lib "user32" _
(ByVal hWnd As Long, _
ByVal id As Long, _
ByVal fsModifiers As Long, _
ByVal vk As Long) As Long
 
Private Declare PtrSafe Function UnregisterHotKey Lib "user32" _
(ByVal hWnd As Long, _
ByVal id As Long) As Long
 
Private Const VK_SNAPSHOT = &H2C
Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
 
Private lPrint As Long
Private lAltPrint As Long
Private lCtrlPrint As Long
Private lShiftPrint As Long
 
Sub HookPrintKey()
 
    'set the hotkeys IDs
    lPrint = 1
    lAltPrint = 2
    lCtrlPrint = 3
    lShiftPrint = 4
 
    'Register the hotkeys
    Call RegisterHotKey(0, lPrint, 0&, VK_SNAPSHOT)
    Call RegisterHotKey(0, lAltPrint, MOD_ALT, VK_SNAPSHOT)
    Call RegisterHotKey(0, lCtrlPrint, MOD_CONTROL, VK_SNAPSHOT)
    Call RegisterHotKey(0, lShiftPrint, MOD_SHIFT, VK_SNAPSHOT)
 
End Sub
 
Sub UnhookPrintKey()
 
    'Unregister the hotkeys
    Call UnregisterHotKey(0, lPrint)
    Call UnregisterHotKey(0, lAltPrint)
    Call UnregisterHotKey(0, lCtrlPrint)
    Call UnregisterHotKey(0, lShiftPrint)
 
End Sub