Licensing of HyperACCESS

HyperACCESS requires a license for each PC on which it is installed. You may use a single licensed copy of HyperACCESS on only one computer at a time. The software is “in use” when it is loaded into RAM or installed on local permanent storage (e.g. hard disk, CD-ROM, etc.).

Simultaneous use of a single licensed copy on two or more computers is a violation of the licensing agreement. For example, you cannot have HyperACCESS installed on a desktop machine and install the same licensed copy with the same serial number on a laptop for the purpose of establishing a connection between the two. Each installation must have its own unique serial number.

If you have multiple Licenses, you may have as many copies of HyperACCESS in use as you have number of licenses. If HyperACCESS is incorporated in a custom application, such as a VBA program, and the custom application is distributed to others, a license must be purchased for every site where the custom application is implemented.

haTypeKey API to send emulator function keys above F10

The haTypeKey API can be used in a script to send function keys above F10 to the host application. To do so, simply note the keys used on the emulator charts found in Appendix D of the HyperACCESS User’s Manual. haTypeKey will only work with actual keys found on the PC keyboard.

For example, with VT320 as the selected emulator, the Appendix chart tells you to use the key sequence “Ctrl+F10” to send an F20. So to have the haTypeKey command send an F20, simply execute the following:

haTypeKey “CTRL-F10”

With Wyse50 as the selected emulator, use this command to send an F11 in a script:

haTypeKey “ALT-F1”

For a complete list of all supported emulator function keys and their corresponding HyperACCESS key combinations, see Appendix D in the HyperACCESS User’s manual. The manual is available in .pdf format from:

HyperACCESS API Manual Addendum

The following revisions, identified with * * should be applied to the HyperACCESS API manual:

“When you create a new instance of HyperACCESS, the program will not become visible until a HAPI function call causes HyperACCESS to open an entry file.” (API Manual, page 2-2)

This is incorrect. The statement should be:

“When you create a new instance of HyperACCESS, the program will not become visible until a HAPI function call causes HyperACCESS to open an entry file a call to the function haSizeHyperACCESS restores the session window.”

“Using the HyperACCESS interface, call the function haInitialize. This will return an HAScript interface. You can now call HAPI functions through this interface and automate HyperACCESS.” (API Manual, page 2-2)

This is incomplete. The statement should be:

“Using the HyperACCESS interface, call the function haInitialize, *immediately followed by haConnectSession.* This will return an HAScript interface and prevent HyperACCESS from throwing an exception. You can now call HAPI functions through this interface and automate HyperACCESS.”

Configuring HyperACCESS to answer calls without using the Host

The following code can be used to set up a HyperACCESS .haw file as a simple host which requires no login:

$LANG = “VBScript”
‘ VBS script which will put the terminal in answer mode.
cr = Chr(13)

haConnectSession 4

Follow these steps to implement the code:

1. Create a session file specifically for this process (e.g., Simple Answer.haw)
. Make sure the Properties, Communications page has appropriate Connect Via information recorded.

2. If you need only a one-time connection waiting for calls, assign the above script as Script to run before connecting under Properties, File Usage. When you double-click the phonebook icon, the session begins in a waiting for calls state.

3. If you want the session to return to a waiting state after the connecting device disconnects, follow these steps:

a) Open the session file. In Properties, File Usage, assign the Simple Answer script as the Script to run after disconnecting.

b) To start waiting, go to Automation, Run. Select the Simple Answer script. It should start the HyperACCESS session in a waiting for calls mode.

c) After the connecting device completes sending data and disconnects, the HyperACCESS session should go back into waiting for calls.

d) When you want to stop waiting and end the session, don’t click the disconnect icon. Instead, close the program.

Accessing an existing instance of HyperACCESS from an Excel VBA macro

When an Excel VB macro uses HyperACCESS to log on and retrieve data, I would prefer to disconnect the existing HyperACCESS session but not quit the program. Then after processing data, I wish to connect and log back on. However, when HA is still on the Windows task bar, a second instance of HA is started. How do I get this to work properly?

There is an error in the HyperACCESS API manual on page 2-8. The error applies to programming in Excel. The GetObject in Excel requires a leading comma since HAWIN32 should be the SECOND argument.

Example: Set haAuto = GetObject(, “HAWIN32”)

The following code is required since the Program does not know if an another instance of HyperACCESS is already loaded.

On Error Resume Next
Set haAuto = GetObject(, “HAWIN32”)

‘err 429 = “ActiveX component can’t create object”
If Err.Number = 429 Then
Set haAuto = CreateObject(“HAWIN32”)

End If

Application error closing HyperACCESS in VB Program

Windows Access Violation closing HyperACCESS in VB Program


When my Visual Basic program attempts to shutdown HyperACCESS, I receive an application error:

“An application error has occurred and an application error log is being generated. HAWIN32.exe Exception: access violation (0xc0000005)
, Address: 0x110a5c40”.

This problem occurs when haTerminate is releasing the HyperACCESS API resources and Set HyperACCESS = Nothing runs before the haTerminate is complete.


The following code segment is an example of how to get around this problem. The code inserts a short delay to provide HyperACCESS time to finish shutting down before VB ends.

Dim HyperACCESS As Object
Dim haScript As Object
Dim Start As Long
Dim PauseTime As Integer

Set HyperACCESS = CreateObject (“HAWIN32”)

Set haScript = HyperACCESS.haInitialize(“Script_Name”)

‘ Functional code would be placed here

haScript.haWaitForConnection 2, 10000
haScript.haMenuString “FX”

‘ Set duration
PauseTime = 5
‘ Set start time
Start = Timer
Do While Timer < Start + PauseTime
‘ Yield to other processes

Set haScript = Nothing
Set HyperACCESS = Nothing

Automating the closing of HyperACCESS via script

Closing of HyperACCESS from within a Visual Basic Script

To have HyperACCESS automatically close once your script has completed its necessary tasks, replace the API function haTerminate with the following sample code:

haWaitForConnection 2, 10000
haMenuString “FX”

Calling HyperACCESS from an ASP web page

Calling HyperACCESS from an ASP web page.

You can get HAWin32 working properly under active server pages by following the code sample below. This code creates a page with a button on it that will launch HAWin32 when clicked:

Sample Code:

<title>HAWin32 Active Server Page Test</title>
<body bgcolor=”#000000″ text=”#FFFFFF”>
<h2 align=”left”><font color=”#0000FF”>HyperACCESS Active Server Page Test Page</font></h2>
<% if Request.Form(“FormProcessed”) <> 1 then %>
<p align=”left”>This page test HAWin32’s ability to be run from an Active Server Page.</p>
<form method=”POST” action=”h32test.asp” name=”PingInfo”>
<input type=”hidden” name=”FormProcessed” value=”1″><p><input
type=”submit” value=”Start HAWin32″ name=”B1″></p>
<p>Copyright c 1999 Hilgraeve Inc.</p>
Set haAuto = Server.CreateObject(“HAWin32”)

Set haScript = haAuto.haInitialize(“ASPTest”)

retval = haScript.haSetDisplay(1)

if retval = 0 Then
Response.Write “<pre>HAWin32 Test Passed</pre>”

Response.Write “<pre>HAWin32 Test Failed – Retval=” + CStr(retval) + “</pre>”
End If
Set haAuto = nothing
Set haScript = nothing
End If

End of sample code:

HyperACCESS – ISDN Modem Support

Does HyperACCESS work with ISDN devices?

HyperACCESS will work with any ISDN device that is installed properly through the operating system’s support for modems listed in the Control Panel folder under Modems. If the ISDN device is TAPI-compliant (Telephony Applications Programming Interface), it should be recognized by HyperACCESS.

Launching mutiple instances of the same HyperACCESS session

Q – I want to run multiple telnet sessions to the same host. How can this be done in HyperACCESS?

A – First, open the HyperACCESS phonebook and click the Options button on the phonebook toolbar. Select Startup from the dropdown menu. Check the options to “Open last used notebook entry on startup” and “When I try to open a notebook entry that is already open, create another window.”

Note: If your Startup options do not include the “…create another window” option, you need to upgrade to the latest version.

Second, double-click the phonebook entry you wish to connect. When the terminal opens and the session is connected, either minimize or resize the window according to the requirements of your task.

Finally, You will need to run multiple instances of HyperACCESS to be able to establish multiple connections to the same host. That is, you will need to start HyperACCESS for each session that you want to connect. If you want 3 connections to the host, launch HyperACCESS 3 times. Each child HyperACCESS session will have ‘(Temporary Copy)’ as part of the title bar.

Be sure that you disconnect each session before closing each instance of the program.
Otherwise you will receive a ‘Still connected – do you want to disconnect?’ pop-up message.