68
Appendix B. Sample VB.NET Cash Drawer Code for Windows
NOTE:
Requires installation of System Driver. Refer to the System Driver Installation
section for instructions.
Private
Declare
Function
CreateFile
Lib
"kernel32"
Alias
"CreateFileA"
(
ByVal
lpFileName
As
String
,
ByVal
dwDesiredAccess
As
Integer
,
ByVal
dwShareMode
As
Integer
,
ByVal
lpSecurityAttributes
As
IntPtr,
ByVal
dwCreationDisposition
As
Integer
,
ByVal
dwFlagsAndAttributes
As
Integer
,
ByVal
hTemplateFile
As
IntPtr)
As
Integer
Private
Declare
Function
DeviceIoControl
Lib
"kernel32"
(
ByVal
hDevice
As
IntPtr,
ByVal
dwIoControlCode
As
Integer
,
ByRef
lpInBuffer
As
Byte
,
ByVal
nInBufferSize
As
Integer
,
ByRef
lpOutBuffer
As
Byte
,
ByVal
nOutBufferSize
As
Integer
,
ByRef
lpBytesReturned
As
Long
,
ByVal
lpOverlapped
As
Integer
)
As
Integer
Private
Declare
Function
CloseHandle
Lib
"kernel32"
(
ByVal
hObject
As
Long
)
As
Integer
Public
Shared
Function
CTL_CODE(
ByVal
DeviceType
As
Integer
,
ByVal
func
As
Integer
,
ByVal
Method
As
Integer
,
ByVal
Access
As
Integer
)
As
Integer
Return
(DeviceType << 16)
Or
(Access << 14)
Or
(func << 2)
Or
Method
End
Function
Dim
DeviceHandle
As
Integer
Const
GENERIC_READ
As
Long
= &H80000000, GENERIC_WRITE
As
Long
= &H40000000
Const
FILE_SHARE_READ
As
Long
= &H1, FILE_SHARE_WRITE
As
Long
= &H2
Const
OPEN_EXISTING
As
Long
= &H3, FILE_ATTRIBUTE_NORMAL
As
Long
= &H80
Const
INVALID_HANDLE_VALUE
As
Long
= &HFFFFFFFF
Const
ADVPORT_TYPE
As
Long
= 40000, METHOD_BUFFERED
As
Long
= 0, FILE_ANY_ACCESS
As
Long
= 0
Dim
ADV_OPEN_CTL_CODE
As
Long
= CTL_CODE(ADVPORT_TYPE, &H900, METHOD_BUFFERED, FILE_ANY_ACCESS)
Dim
ADV_STATUS_CTL_CODE
As
Long
= CTL_CODE(ADVPORT_TYPE, &H901, METHOD_BUFFERED, FILE_ANY_ACCESS)
Private
Sub
Form1_Load(
ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
MyBase
.Load
DeviceHandle = CreateFile(
"\\.\ADVSYS"
, GENERIC_READ
Or
GENERIC_WRITE, FILE_SHARE_READ
Or
FILE_SHARE_WRITE,
0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
If
DeviceHandle = INVALID_HANDLE_VALUE
Then
'Failed to Open Cash Drawer Driver
Timer1.Enabled =
False
MsgBox(
"Error opening ADVSYS.sys. Error = "
& Err.LastDllError)
End
If
End
Sub
Private
Sub
Button1_Click(
ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
Button1.Click
Dim
iBytesRtn
As
Integer
Dim
iRet
As
Integer
, iDrawer
As
Integer
' Open Drawer #1
iDrawer = &H1
iRet = DeviceIoControl(DeviceHandle, ADV_OPEN_CTL_CODE, iDrawer, 4, 0, 0, iBytesRtn, 0)
If
(iRet = 0
Or
iBytesRtn <> 1)
Then
MsgBox(
"Error opening ADVSYS.sys. Error = "
& Err.LastDllError)
End
If
End
Sub
Private
Sub
Button2_Click(
ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
Button2.Click
Dim
iBytesRtn
As
Integer
Dim
iRet
As
Integer
, iDrawer
As
Integer
' Open Drawer #2
iDrawer = &H2
iRet = DeviceIoControl(DeviceHandle, ADV_OPEN_CTL_CODE, iDrawer, 4, 0, 0, iBytesRtn, 0)
Summary of Contents for EP-55XX-AR10
Page 14: ...7 EP 55XX Series with 8 9 2nd Display Dimensions Unit mm...
Page 42: ...35 Jumper and Connector Locations of PEB 973D For EP 55XX AR20...
Page 46: ...39 Jumper and Connector Locations of INS8313B and GA D525E C6 For EP 55XX AR30 40...
Page 62: ...55 8 When installation is complete the WLAN utility will automatically appear on the desktop...
Page 71: ...64 7 Click Finish on the Installation Complete screen...