IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies

Visual Basic Examples / DLL of DevKit


TYPE: Visual Basic project integrated with C based DLL


LANGUAGE: Visual Basic/Forms, and C / Windows API for DLL

IDE: Microsoft Visual Basic 6 / Microsoft Visual C++ 6

Welcome to the Visual Basic Example set for Developers!

1.77 Notes

Due to various changes in the DevKit utilities, and updates to the MTSDLL.DLL, this example is dated - refer to MTSDLL.DLL for code & functionality and the MS-Access examples for up-to-date VB examples.

Refer to VBASIC6 for a folder with the project converted to Visual Basic 6 and updated to work with MTSDLL.DLL. The original VBASIC folder has been preserved for compatibility with older versions of Visual Basic.

If there are any specific questions, please refer to the source code provided, and the original notes below.

This is an add-on to the Developer's Kit for IMG's My-T-Soft, My-T-Touch, and My-T-Pen to allow Visual Basic Developer's to access & Use the Developer's Kit directly from Visual Basic.

MicroSoft Visual Basic Version Notes

This was built in VB 4.0 for maximum compatibility if you open the project in later versions of Visual Basic, just say OK, OK, OK, OK, etc. to convert to the current version you are running.


The files are delivered in the Zip format (VBASIC.ZIP).

Default Install Locations:


Extract VB Examples to: C:\WINNT\MYTSOFT\VBASIC




Extract VB Examples to: C:\WINDOWS\MYTPEN\VBASIC

To Install, do the following:

1) Windows Explorer to default install location

2) Create New Folder called "VBASIC (Right-click, New, Folder, then change "New Folder" to "VBASIC")

3) Copy VBASIC.ZIP (download file) to the new VBASIC folder

4) PKUNZIP or WinZip to extract files from VBASIC.ZIP

Some of the features assume that the Developer's Kit has already been "installed". If the "Send Text Thru" or the "External Control" examples are not operating properly, then install the DevKit:

Start Menu | Programs | My-T-???? | Install Developer's Kit

Note: Only My-T-Soft Version 1.50 & above, or NT/2000 Versions supports advanced Send Text Feature


The appropriate Project name (MYTSOFT.VBP, MYTTOUCH.VBP, or MYTPEN.VBP) should be run from a "VBasic" folder under the install directory of matching product.



The source code & derived executable are provided at no cost as useful & instructional materials to developers & system integrators incorporating IMG software. Because no licensing fee has been tendered, there is no technical support offered for this software, source code, or its capabilities to solve a particular problem.


There is a fair amount of error checking, but every possibility has not been addressed. If the default installation of all components has been done, then the operation should be straightforward & error free. If there are operational problems, then it is assumed that as a Visual Basic developer, fixing the error will not be a problem. You may contact IMG at "" or check our website "" for any news or updates, but technical support is not offered for the Developer's Kit utilities - source code is provided, and should be referenced.

Once in the Visual Basic Environment, simply "Run" to engage the form & start Operation. Click on buttons to see operational features, "Stop" operation and review Visual Basic Form / Properties / Controls & Properties / Module code, etc. See MTSVBDLL.C for source code of C based DLL.

1.71 Note - this DLL has been generalized - see the MTSDLL for the "future" of this DLL.

Operation Notes

Load Event

If the MTSVBDLL.DLL is not found in the current directory, and InputBox will appear to "ask" for its location.

Buttons / Text Fields

Launch - This will launch the appropriate product based on the project loaded. By default (See DLL Source code) My-T-Soft is attempted, if it fails, then My-T-Touch is attempted, if it fails, then My-T-Pen is attempted. If these fail, then it is assumed the default install locations have not been used, and the LaunchFromCurrentMTS function is called with the current directory, and the parent folder (i.e. the folder that contains the VBASIC folder) is used as the location of the product. If the My-T-Soft keyboard is NOT launched, either:

a) Modify the source code to fit your requirements


b) Run the My-T-Soft product directly...

Close - this will Close the running keyboard software

Minimize to Button - will send the message to minimize to button

Open from Button - will send the message to open from the button state

MoveWindow / text fields X & Y - enter appropriate values in the text fields, and click on button to move keyboard window to that (Top/Left) X, Y location

Set Cursor Position / text fields X & Y - this will move the cursor (mouse cursor) to X, Y location

Save Settings - Saves the current configuration / panels open on the keyboard software

Save Position - Saves the Top/Left X, Y position of the keyboard software

Restore Settings - restores the saved panels & position

Restore Position - restores X, Y location (Top/Left) of keyboard software with current configuration preserved

Send Text Through My-T-Soft - This is an advanced feature of the My-T-Soft version - the VB example does not back support My-T-Touch or My-T-Pen, although this could work with some modification - this is left as an exercise for the developer. The compatibility issue revolves around the way the keystrokes are sent - the example here uses the embedded codes ([Tab], [Enter], [F1]), and this is only supported in the SDSTRM32.EXE, which only operates with My-T-Soft Version 1.50 and above (or NT/2000 versions).

This is grayed out in the My-T-Touch and My-T-Pen versions (Enabled = False) earlier than 1.70. In order to operate properly, the Developer's Kit must have been installed (to ensure the SDSTRM32.EXE file is in the Install directory). By clicking on the Send button, the text in the left-hand text field will be sent through to My-T-Soft - the default [Tab] moves the keyboard focus to the right text field, and the rest of the text is typed. In order for My-T-Soft to type via this mechanism, the cursor must have previously been over the keyboard window, or must be moved over the keyboard window to "engage" the appropriate window & keyboard focus code in My-T-Soft. See Developer notes / source code for SDSTRMTS for other details. Note that using the Set Cursor Position option, this can be forced with a FindWindow / GetWindowRect with the Windows API or MoveWindowMTS and SetCursorPosMTS.

Configuration On-the-fly - Select the appropriate panels and/or size, click on Configure and the keyboard software will reconfigure itself based on the checked panels / size. Note that the position is dependent on current position, and how the new configuration will fit on screen.

See External Control & notes on CPYCNMTS.C for a much stronger level of control which includes positioning.

External Control - For proper operation, the Developer's Kit MUST be extracted (installed).

The files KYBD.CFG, EDIT.CFG, NUM.CFG, and MACRO.CFG must be in the installation directory. If you want to modify the default "configurations", refer to the notes of CPYCNMTS (Copy & Configure My-T-Soft) in the Developer's Kit. Essentially, the configuration & position must be saved - Save Position / Save Settings. Then the KEYBOARD.KBF can be copied to the "saved" configuration (e.g. COPY KEYBOARD.KBF NEW.CFG). Call 'CopyConfigureMTS("NEW.CFG")' to establish this configuration instantly...

Keyboard Config - Uses KYBD.CFG

Edit Config - Uses EDIT.CFG

Num Config - Uses NUM.CFG

Macro Config - Uses MACRO.CFG

Toggle off-screen or reconfigure - this uses the FWCTLMTS approach. Logic is: if "on-screen", move "off-screen" if "off-screen" used CopyConfigure approach to establish new configuration.

Files & Notes

MTSVBDLL.DLL - compiled DLL that contains C based functions as called by Visual Basic



MTSVBDLL.DEF - MTSVBDLL.DLL Exports / Module Definition file


MYTSOFT.H - Header file MTSVBDLL.DLL source

RESOURCE.H - Visual C Resource Header

MYTSOFT.VBP - Visual Basic Project (v4) for My-T-Soft

MYTSOFT.FRM - Form for My-T-Soft

MYTSOFT.BAS - Module for My-T-Soft

MYTPEN.VBP - Visual Basic Project (v4) for My-T-Pen

MYTPEN.FRM - Form for My-T-Pen

MYTPEN.BAS - Module for My-T-Pen

MYTTOUCH.VBP - Visual Basic Project (v4) for My-T-Touch

MYTTOUCH.FRM - Form for My-T-Touch

MYTTOUCH.BAS - Module for My-T-Touch

My-T-Soft Visual Basic Examples

Version 1.70 - 5/11/2000

Copyright 2000 by Innovation Management Group, Inc.

All Rights Reserved.

My-T-Mouse, My-T-Pen, My-T-Touch, and My-T-Soft are registered trademarks of Innovation Management Group, Inc.

IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies

As seen in ...