Megosztás a következőn keresztül:


Eszközök kezelése VBScript használatával (POS for .NET v1.14 SDK dokumentáció)

Az ebben a szakaszban dokumentált WMI API használatával felügyelt kód vagy szkriptek használatával kezelhetők az eszközök. POSDM.EXE az API parancssori felülete. Ez a VBScript-minta a következőket végzi el:

  • Az ExecQuery WMI-metódussal kéri le a telepített PosDevice-objektumok listáját. A szolgáltatásobjektumok ezen listájában a szkript megjeleníti a típusukat, a nevüket, a megfelelő elérési útjukat, valamint az engedélyezett vagy letiltott állapotukat. Ez a következő parancs futtatásához hasonló:

    PosDM.exe LISTDEVICES

  • Ezután megpróbálja hozzárendelni a COM1 elérési utat a telepített Service Objecthez, a Microsoft Msr Szimulátorhoz az AddDevice metódussal. Ez a futtatásnak felel meg:

    PosDM.exe ADDDEVICE COM1 /SONAME:Microsoft Msr Simulator

  • Ha az AddDevice metódus sikertelen, a szkript elfogja a hibát, és feltételezi, hogy a COM1 már fel lett véve az eszközre, ezért a DeleteDevice meghívásával megpróbálja törölni. Ez a futtatásnak felel meg:

    PosDM.exe DELETEDEVICE COM1

  • Ha az AddDevice metódus korábban sikertelen volt, a szkript újra megkísérli meghívni az AddDevice metódust. A program kilép, ha a metódus sikertelen.

  • Végül a minta megpróbálja hozzáadni az MSRSim logikai nevet ehhez a szolgáltatásobjektumhoz az AddName meghívásával. Ez a futtatásnak felel meg:

    PosDM.exe ADDNAME MSRSim /SONAME:"Microsoft Msr Simulator"

A minta eredményeit a következő futtatásával tekintheti meg:

PosDM.exe LISTDEVICES

And

PosDM.exe LISTNAMES

A minta futtatása

  1. A Service Object Microsoft Msr-szimulátor az SDK-val lett telepítve. Győződjön meg arról, hogy telepítve van arra a számítógépre, amelyet a minta futtatásához használni fog.

  2. Másolja ezt a szkriptet egy PosDMSample.vbs fájlba

  3. Hajtsa végre a szkriptet a következő parancssorral:

    CScript //U PosDMSample.vbs

Példa

'Get a handle to the POS namespace service into 'objServices'.
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objServices = objLocator.ConnectServer(, "/root/MicrosoftPointOfService")

'List the POS devices.
EnumeratePosDevice

'Add a name: MSRSim for Msr Simulator by retrieving the SO and invoking AddDevice() then AddName()
WScript.Echo "Add Device on COM1 and add name 'MSRSim' for MsrSimulator ..."
Set objSO = objServices.Get("ServiceObject.Type='Msr',Name='Microsoft Msr Simulator'")

On Error Resume Next
objSO.AddDevice "COM1"
if Err.number <> 0 Then
  WScript.Echo "AddDevice failed - it already is in use."
  WScript.Echo "Try to delete the device..."

  On Error Resume Next
  objSO.DeleteDevice "COM1"
  if Err.number <> 0 Then
    WScript.Echo "DeleteDevice failed"
    WScript.Quit 1
  end if

  WScript.Echo "DeleteDevice succeeded! Attempting AddDevice again..."

  On Error Resume Next
  objSO.AddDevice "COM1"
  if Err.number <> 0 Then
      WScript.Echo "AddDevice failed a second time - exiting"
      WScript.Quit 2
  end if
end if

Set objDevice = objServices.Get("PosDevice.SoName='Microsoft Msr Simulator',Type='Msr',Path='COM1'")
objDevice.AddName "MSRSim"
Set objDevice = GetDevice("Msr", "MSRSim")
WScript.Echo "Added 'MSRSim' to: " & objDevice.Type & vbTab & objDevice.SoName & vbTab & objDevice.Path

'Enumerate the sClass by name
Sub EnumeratePosDevice( )
  sClass = "PosDevice"
  WScript.Echo "Enumerating " & sClass & "..." & vbCrLf

  Set collection = objServices.ExecQuery("SELECT * From " & sClass)
  For Each obj In collection
    Enabled = "DISABLED"
    if obj.Enabled = true Then
      Enabled = "ENABLED"
    end If
      WScript.Echo obj.Type & Space(15-len(obj.type)) & obj.SoName & Space(35-len(obj.SoName)) & Enabled & vbTab & obj.Path
  Next
  WScript.Echo vbCrLf
End Sub

'Return a PosDevice matching DeviceType and Name.
Function GetDevice( DeviceType, Name )
  Set Logical = GetLogicalDevice( DeviceType, Name )
  objectPath = "PosDevice.SoName='" & Logical.SoName & "',Type='" & DeviceType & "',Path='" & Logical.Path & "'"
  Set GetDevice = objServices.Get(objectPath)
End Function

'Return a LogicalDevice matching DeviceType and Name.
Function GetLogicalDevice( DeviceType, Name )
  Query = "SELECT * From LogicalDevice WHERE Type = '" & DeviceType & "' AND Name='" & Name & "'"
  Set collection = objServices.ExecQuery( Query )
  For Each obj In collection
    Set GetLogicalDevice = obj
    exit For
  Next
End Function

Ha a COM1 elérési út nincs hozzárendelve egy eszközhöz, a minta a kódhoz hasonló kimenetet hoz létre.

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Enumerating PosDevice...

Msr            Microsoft Msr Simulator            ENABLED
Msr            Microsoft Msr Simulator            ENABLED       COM1
Keylock        Microsoft Keylock Simulator        ENABLED
Scanner        Microsoft Scanner Simulator        ENABLED
CashDrawer     Microsoft CashDrawer Simulator     ENABLED
CheckScanner   Microsoft CheckScanner Simulator   ENABLED
LineDisplay    Microsoft LineDisplay Simulator    ENABLED
PinPad         Microsoft PinPad Simulator         ENABLED
PosPrinter     Microsoft PosPrinter Simulator     ENABLED
PosKeyboard    Microsoft PosKeyboard Simulator    ENABLED

Add Device on COM1 and add name 'MSRSim' for MsrSimulator ...
AddDevice failed - it already be in use.
Try to delete the device...
DeleteDevice succeeded! Attempting AddDevice again...
Added 'MSRSim' to: Msr  Microsoft Msr Simulator

Ha a COM1 elérési út már használatban van, és nincs más hiba, a szkript a kódhoz hasonló kimenetet hoz létre.

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Enumerating PosDevice...

Msr            Microsoft Msr Simulator            ENABLED
Msr            Microsoft Msr Simulator            ENABLED       COM1
Keylock        Microsoft Keylock Simulator        ENABLED
Scanner        Microsoft Scanner Simulator        ENABLED
CashDrawer     Microsoft CashDrawer Simulator     ENABLED
CheckScanner   Microsoft CheckScanner Simulator   ENABLED
LineDisplay    Microsoft LineDisplay Simulator    ENABLED
PinPad         Microsoft PinPad Simulator         ENABLED
PosPrinter     Microsoft PosPrinter Simulator     ENABLED
PosKeyboard    Microsoft PosKeyboard Simulator    ENABLED

Add Device on COM1 and add name 'MSRSim' for MsrSimulator ...
AddDevice failed - it already be in use.
Try to delete the device...
DeleteDevice succeeded! Attempting AddDevice again...
Added 'MSRSim' to: Msr  Microsoft Msr Simulator

Kapcsolódó információk

Egyéb források