DULMEN.net   Follow me on Facebook Contact DULMEN.net  

StartVK - Programming@DULMEN.net

StartVK
Hidden program showing a virtual keyboard on a touchscreen computer and limiting access to several Windows functions. It can popup a password protected administrator menu for accessing tools and settings.

It uses the free virtual keyboard FreeVK (http://www.freevirtualkeyboard.com/) and a 3rd party taskmanager (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer) as the Windows taskmanager had been disabled by policies.
 
Features
-Disables the header bar of FreeVK. Because of this the configuration and close/hide buttons on the FreeVK window are not available for the user
-Checks every second if the FreeVK window is not closed or hidden and brings it back
-Optionally disables in the StartVK.ini file configured keypresses
-Optionally starts a configured application at startup and/or by keypress
-Redirects a configured keypress to an other (comes in handy if you need e.g. the PgDn button wich is unavailable in FreeVK)
-Starts up to 4 programs with configured keypresses
-Opens a password protected Admin panel by a configured keypress
-Start Sysinternals Process Explorer and optional program from the Admin panel
-The optionally disabled keypresses can be enabled in the Admin panel
-As from v1.91 an optional mouse jiggler was added to prevent the computer to lock
 
Description
We needed to limit access to almost all Windows functions and start a virtual keyboard on a bunch of touchscreen computers. This project began searching for a suitable virtual keyboard as the Windows 7 virtual keyboard did not suffice. The free virtual keyboard FreeVK was the best I could find but it did have a header where the configuration of the keyboard could be altered. I didn't want the users to mess with the keyboard settings so was looking for a way to hide the header.

With AutoHotKey it is fairly simple to alter standard Windows applications on the run so I created a script that hides the header from FreeVK and also checks every second if the keyboard is still active. If not it restarts FreeVK.
The size and position of FreeVK can stil be altered (allthough its takes some effort on a touchscreen). The active settings can be saved from the StartVK admin panel and restored whenever needed.

Most access to Windows functions and shortcuts can be disabled by policies but some you do not want to loose for administrator use. Therefor I expanded the abbilities of StartVK by capturing configurable keypresses. Now all Windows keyboard shortcuts are blocked as is the right mouse click. In addition StartVK can alter keypresses as some keys (like PgDn) are not available on the virtual keyboard.

In version 1.7 an option was added to start an extra application automatically and/or manual by a key combination. This was added for StartVK to control WeightKey but it could be any program you need.
 
Screenshots
StartVK login
StartVK screenshot. Note the virtual keyboard and ShutdownMenu StartVK admin panel with WeightKey option
 
Commandline options
StartVK.exe -p : Start the virtual keyboard FreeVK with a 5 second delay
 
Configuration file settings
[ProgramOptions]
DisableKeys 1 (enable) 0 (disable)
RedirectKey 1 (enable) 0 (disable)
KeyShortcuts 1 (enable) 0 (disable)
UserProgram 1 (enable) 0 (disable)
OptionalProgram 1 (enable) 0 (disable)
AdminHotkey Keypress for opening Admin panel (see AutoHotkey documentation for key syntax)
AdminPassword Admin password (do not change, set only from Admin panel!!)
[KeyDisable]
Key# Keypress # to be disabled (see AutoHotkey documentation for key syntax)
[KeyRedirect]
From1..4 Keypresses to redirect from (see AutoHotkey documentation for key syntax)
To1..4 Keypresses to redirect to (see AutoHotkey documentation for key syntax)
[KeyShortcuts]
KeyShortcut1..4 Keypresses to start a configured program (see AutoHotkey documentation for key syntax)
KeyProgram1..4 Programs to start with configured keypresses
[ProgramUser]
ButtonLabel Button label user defined program
CommandLine User defined program EXE including path
Options Command line options (optional)
[ProgramOptional]
OptionalPath Path of optional program with trailing \
OptionalExe Executable of optional program
AutoStart 1 (enable) 0 (disable)
ManualStart Keypress to start optional program (see AutoHotkey documentation for key syntax)
 
Version history
v1.0 Initial setup
v1.1 Added admin menu, ini file configuration and key disabling
v1.2 Added key redirect
v1.3 Added user defined program
v1.4 Added second key redirect
v1.5 Button focus added, admin login on VNC connection fixed (Bug 01)
v1.6 Added default keyboard settings
v1.7 Added optional program with optional auto start and hotkey
v1.8 Changed layout admin menu
Added Windows Explorer to admin menu
v1.9 Renamed Cancel button in admin menu
v1.91 Added an optional mouse jiggler function
v1.92 Added up to 4 shortcuts keys to start preconfigured programs
Extended the number of key redirects from 2 to 4
Included a x64 compiled version
 
Known bugs
Bug no. Version Fixed in Description
01 v1.4 v1.5 Cannot keep focus on admin login during remote session with VNC
 
Future enhancements
None planned.
 
Download
Please read the legal notice first, allthough you probably heard it before :)


Copyright 2018 DULMEN.net. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY DULMEN.net ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL DULMEN.net OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of DULMEN.net.


You can download StartVK as a compressed folder containing all files needed. No need to install the software, just unzip, adapt the configuration file StartVK.ini and run StartVK.exe.
StartVK is free for personal and bussiness use and is free to distribute as is as long as the program is not altered and accompanied with the StartVK text file.

VersionFileSize
v1.92StartVK_v1.92.zip2,19 MB (2295956 bytes)
v1.92StartVK_v1.92.7z1,66 MB (1735590 bytes)
v1.9StartVK_v1.9.zip1,68 MB (1764793 bytes)
v1.9StartVK_v1.9.7z1,28 MB (1340833 bytes)
 
 
DULMEN.net © v8 2018 - Designed & written by Arno van Dulmen