• 0

(VB.net) Disabling keys


Question

i would like to know how to disable some keys on the keyboard in vb2005.

I am making a gaming program where u chose ur game from a list and then it runs it.

but the user must not be able to get onto the OS.

I know that it is almost impossible to stop ctrl, alt delete, but i would like to know how to disable

alt, ctrl, windows key, and F4.

thanks for any help

Link to comment
https://www.neowin.net/forum/topic/562480-vbnet-disabling-keys/
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Hi

You need to have the following function in your code so that your application can trap the keypresses and make them do what you want them to do rather than the operating system default:

Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean

		Select Case (keyData)
			Case Keys.Control
				MessageBox.Show("Controlpressed")
			Case Keys.Alt Or Keys.F4
				MessageBox.Show("Altressed")
		End Select
		Return MyBase.ProcessDialogKey(keyData)
	End Function

You will of course need to add more definitions for your own custom purposes.

This has been put together quickly, and may not be so accurate. I'm more of a C# developer than VB.NET

  • 0

i remember doing this ages ago in VB6 in an attempt to help someone prevent people using the Windows+U combo to bypass their custom login program, code worked too but they didn't wanna use it (blocked windows from being used until logged in)

  • 0
  darthblader said:
ah right ok. i have it running here for all my buttons that i need but they continue to run after the messagebox

how do u get it to not close down on some of the occassions lol

I put Return True after the message boxes:

Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean

		Select Case (keyData)
			Case Keys.Control
				MessageBox.Show("Controlpressed")
				Return True
			Case Keys.Alt Or Keys.F4
				MessageBox.Show("Altressed")
				Return True
		End Select
		Return MyBase.ProcessDialogKey(keyData)
	End Function

which seemed to work here

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • It does when you're a software developer and you have to provide supports for these people.
    • Epic endless battle between Windows and Linux, as if it matters what OS the fella next door is running!
    • Microsoft 365 getting "major change" to how app updates will be released by Sayan Sen Microsoft tends to publish messages regarding upcoming Microsoft 365 app updates and changes on its Microsoft 365 admin center dashboard. Some of these posts are labelled as a "major change" as they require admin attention and monitoring to ensure smooth deployment of such changes, which can be new feature additions or removal of some. Communicating these early is crucial given that they can introduce bugs and issues, and sometimes they can be numerous as it happened with Outlook following a big Calendar upgrade. Microsoft recently announced changes to Teams-certified third-party app approvals. However, it may not be available to all licenses as initially announced. You can find the details in its dedicated article here. Another "major change" Microsoft has announced is about how the Microsoft 365 (M365) app update channels will function. For those who may not be familiar, the tech giant currently releases M365 app updates in four ways: Current channel, Monthly Enterprise channel, Semi-Annual Enterprise channel (preview), and Semi-Annual Enterprise Channel. Administrators, depending on how often and soon their organizations want the updates, can choose the servicing channel. However, Microsoft has announced today that it is deprecating the semi-annual preview channel and at the same time, reducing the support for the semi-annual channel from 14 months down to eight months. On the positive side, the company is extending the monthly channel servicing from one month to two. In an updated support document regarding this, Microsoft has outlined the changes. It writes: "Update Channel Changes Coming July 2025: Microsoft is making significant changes to update channels beginning July 2025: Monthly Enterprise Channel: Rollback support extended to 2 months (from 1 month) Semi-Annual Enterprise Channel (Preview): Being deprecated - migrate devices immediately Semi-Annual Enterprise Channel: Support duration reduced to 8 months (from 14 months), shifting to focus on unattended devices" Some additional details regarding this have also been released. Below, Microsoft has explained why the Semi-Annual Channel is seeing the alteration. The company writes: You can find the updated support document here on Microsoft's official website. Details about the change have also been communicated to the M365 Admin Center via message ID MC1087098.
    • Polaroid went bankrupt due to poor sales after the rise in digital cameras and cheaper analogue alternatives. Now nearly everyone has a digital camera in their pocket , it's pointless. Nostalgia wont sell big numbers.
  • Recent Achievements

    • Dedicated
      jbatch earned a badge
      Dedicated
    • Week One Done
      Leonard grant earned a badge
      Week One Done
    • One Month Later
      portacnb1 earned a badge
      One Month Later
    • Week One Done
      portacnb1 earned a badge
      Week One Done
    • First Post
      m10d earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      264
    2. 2
      snowy owl
      158
    3. 3
      +FloatingFatMan
      145
    4. 4
      ATLien_0
      140
    5. 5
      Xenon
      131
  • Tell a friend

    Love Neowin? Tell a friend!