Disable ctrl + P

I want to disable control + P
in my web application so nobody can print from the web app.
This should be done through ieViewer object.
Problem with SHDocVW Internetexplorer PlugIn

with the ctrl + P print disable.
mathieu_cuprykAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
kulkarnivishwajitConnect With a Mentor Commented:
Hi,

You can try following code:

javascript code to disable return and enter keys

add this in page load

<script language="javascript" type="text/javascript">
function stopctrlPKey(evt) {
document.Form1.t1.value = 100;
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 16) && (node.type=="text")) { return false}

This will identify Control + P ascill value i.e. 16 and do nothing if that key is pressed.

Regards,
kulkarnivishwajit
0
 
gangwischCommented:
try

WebBrowser1.WebBrowserShortcutsEnabled = False
0
 
mathieu_cuprykAuthor Commented:
I will try both guys.

but what does WebBrowser1.WebBrowserShortcutsEnabled = False?
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
kulkarnivishwajitCommented:
Hi,

If we make WebBrowser1.WebBrowserShortcutsEnabled = False, then it will disable all the keyboard shortcuts. So I am wondering whether we should use only to disable printing ability.

Regards,
kulkarnivishwajit
0
 
mathieu_cuprykAuthor Commented:
Hi Kulk,

I don;t think it would be wise to diasable all the keyboard shortcuts.

http://www.devx.com/codemag/Article/20145/1954?pf=true

Is there another way?
0
 
mathieu_cuprykAuthor Commented:
Here is another example?

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=160976&SiteID=1

But I just need to disable the Ctrl+P
0
 
mathieu_cuprykAuthor Commented:
I am also talking to you gang, you must excuse me I am tired after 14 hour days.
0
 
manchCommented:
'Just change the keys u want and Add the Handler of the Event Defined
' --------------------------------------------------
'  Class LowLevelKeyBoardhook
' --------------------------------------------------
Imports System.Runtime.InteropServices

'Note : This class wont work in IDE
'If u want to see the effects Execute the Application from bin

Public Class LowLevelKeyBoardhook

    Private Const HC_ACTION As Integer = 0
    Private Const WH_KEYBOARD_LL As Integer = 13
    Private Const WM_KEYDOWN As Integer = &H100
    Private Const WM_SYSKEYDOWN As Integer = &H104

    Public Structure KBDLLHOOKSTRUCT
        Public vkCode As Integer
        Public scancode As Integer
        Public flags As Integer
        Public time As Integer
        Public dwExtraInfo As Integer
    End Structure

    Private Declare Function SetWindowsHookEx Lib "user32" _
        Alias "SetWindowsHookExA" ( _
        ByVal idHook As Integer, _
        ByVal lpfn As LowLevelKeyboardProcDelegate, _
        ByVal hmod As Integer, _
        ByVal dwThreadId As Integer) As Integer

    Private Declare Function CallNextHookEx Lib "user32" ( _
        ByVal hHook As Integer, _
        ByVal nCode As Integer, _
        ByVal wParam As Integer, _
        ByVal lParam As KBDLLHOOKSTRUCT) As Integer

    Private Declare Function UnhookWindowsHookEx Lib "user32" ( _
        ByVal hHook As Integer) As Integer

    Private Delegate Function LowLevelKeyboardProcDelegate( _
        ByVal nCode As Integer, _
        ByVal wParam As Integer, _
        ByRef lParam As KBDLLHOOKSTRUCT) As Integer

    Private Declare Function GetAsyncKeyState Lib "user32" _
        (ByVal vKey As Integer) As Integer

    Public Event CtrlShiftF12()

    Private hhkLowLevelKeyboard As Integer
    Private keyboardDelegate As LowLevelKeyboardProcDelegate

    Public Sub New()
        keyboardDelegate = New LowLevelKeyboardProcDelegate(AddressOf Me.LowLevelKeyboardProc)
        hhkLowLevelKeyboard = SetWindowsHookEx(WH_KEYBOARD_LL, keyboardDelegate, _
            Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly.GetModules()(0)).ToInt32, 0)
    End Sub

    Private Function LowLevelKeyboardProc( _
        ByVal nCode As Integer, _
        ByVal wParam As Integer, _
        ByRef lParam As KBDLLHOOKSTRUCT) As Integer

        If (nCode = HC_ACTION) Then
            Select Case wParam
                Case WM_KEYDOWN, WM_SYSKEYDOWN
                    If GetAsyncKeyState(Keys.ControlKey) AndAlso _
                            GetAsyncKeyState(Keys.ShiftKey) AndAlso _
                            (lParam.vkCode = Keys.F12) Then
                        RaiseEvent CtrlShiftF12()
                    End If

            End Select
        End If

        Return CallNextHookEx(hhkLowLevelKeyboard, nCode, wParam, lParam)
    End Function

    Protected Overrides Sub Finalize()
        UnhookWindowsHookEx(hhkLowLevelKeyboard)
        MyBase.Finalize()
    End Sub

End Class


'Note : This class wont work in IDE
'If u want to see the effects Execute the Application from bin

' --------------------------------------------------
'  Class Form1
' --------------------------------------------------
Public Class Form1
    Inherits System.Windows.Forms.Form

    Private WithEvents llkb As New LowLevelKeyBoardhook

    Private Sub llkb_CtrlShiftF12() Handles llkb.CtrlShiftF12
        MsgBox("Ctrl-Shift-F12 Pressed ")
    End Sub

End Class

'For example execution the code witha  Form is provided

Try It (It is written for Key Combination Ctrl+Shit+F12 u can change it for Ctrl+p)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.