Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Disable ctrl + P

Posted on 2006-11-23
8
Medium Priority
?
1,487 Views
Last Modified: 2013-11-18
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.
0
Comment
Question by:mathieu_cupryk
8 Comments
 
LVL 1

Accepted Solution

by:
kulkarnivishwajit earned 1500 total points
ID: 18005955
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
 
LVL 10

Expert Comment

by:gangwisch
ID: 18006097
try

WebBrowser1.WebBrowserShortcutsEnabled = False
0
 

Author Comment

by:mathieu_cupryk
ID: 18006119
I will try both guys.

but what does WebBrowser1.WebBrowserShortcutsEnabled = False?
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 1

Expert Comment

by:kulkarnivishwajit
ID: 18006142
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
 

Author Comment

by:mathieu_cupryk
ID: 18006156
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
 

Author Comment

by:mathieu_cupryk
ID: 18006180
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
 

Author Comment

by:mathieu_cupryk
ID: 18006198
I am also talking to you gang, you must excuse me I am tired after 14 hour days.
0
 
LVL 6

Expert Comment

by:manch
ID: 18006598
'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

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Before we dive into the marketing strategies involved with creating an effective homepage, it’s crucial that EE members know what a homepage is. In essence, a homepage is the introductory, or default page, of a website that typically highlights the …
How does storytelling impact the web? What goes into a great story on the web? And how can it be used for marketing purposes? All of these questions will be answered.
The purpose of this video is to demonstrate how to set up the WordPress backend so that each page automatically generates a Mailchimp signup form in the sidebar. This will be demonstrated using a Windows 8 PC. Tools Used are Photoshop, Awesome…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Suggested Courses
Course of the Month12 days, 7 hours left to enroll

564 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question