[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


kill sticky keys window in VB

Posted on 2004-08-24
Medium Priority
Last Modified: 2011-10-03
hows it

I need to find away to either disable sticky keys only while my program is running, or kill the process before it has a chance to pop up on top. At this stage I would even settle for hiding the window.
I have been searching for a couple of days and so far all I have come up with is to disable it in the registry, which requires a reboot or possibly a log off for it to take effect, so that’s no good.
The program is written in VB 6 and will be running on xp (maybe 2k if it works sweet).

Any help will be much appreciated

Question by:G3NOCIDE
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3

Expert Comment

ID: 11884483
You'll need to set a key in the registry.

HKEY_CURRENT_USER\Control Panel\Accessibility\StickeyKeys\Flags

Set it to 506.  You might have to restart the computer, not sure on this one. You'll need the win32 API registry functions to do this. There should be a text file somewhere in the Visual Studio installation that details the API fucntions (VPAPI.txt or something like that).  I think the following will do it for you.  Check the msdn for explanations.

Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" ( _
    ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
    ByVal samDesired As Long, ByRef phkResult As Long) As Long

Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" ( _
    ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
    ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
    ' Note that if you declare the lpData pa
    '     rameter as String in RegSetValueEx, you
    '     must pass it ByVal.

Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" ( _
    ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
    ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" ( _
    ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" ( _
    ByVal hKey As Long, ByVal lpValueName As String) As Long

Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" ( _
    ByVal hKey As Long, ByVal lpSubKey As String) As Long


Expert Comment

ID: 11884511

Author Comment

ID: 11888504
i have already tried doing it in the registry, and the effects dont happen until a reboot or login. which is no good because i need sticky keys to disable only when my program is running. I cant expect the user to reboot all the time so they can use sticky keys if the have to.


Accepted Solution

Discofish earned 1000 total points
ID: 11904027

I noticed that if you change the setting for stickey keys from the control panel  Accessibility Options [keyboard tab] [stickyKeys box] -> settings button that will disable it right away.  If you could figure out what API calls you need to acomplish this, you'd be set.


Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

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.

Question has a verified solution.

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

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

656 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