package com.qianwen.mdc.service.lsv2; import org.eclipse.swt.ole.win32.OleAutomation; import org.eclipse.swt.ole.win32.OleClientSite; import org.eclipse.swt.ole.win32.OleControlSite; import org.eclipse.swt.ole.win32.OleFrame; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.junit.jupiter.api.Test; import com.qianwen.mdc.utils.Lsv2Util; public class Lsv2ClientTest { private Shell shell; private OleFrame oleFrame; private OleControlSite oleControlSite; private OleAutomation oleAutomation; @Test public void create() { Display display = Display.getDefault(); if (!display.isDisposed()) display.syncExec(() -> { this.shell = new Shell(display, 1264); this.shell.setLayout(null); this.oleFrame = new OleFrame((Composite) this.shell, 0); this.oleControlSite = new OleControlSite((Composite) this.oleFrame, 0, "{F9EE051D-C65D-4480-8E35-76F10FAB15C6}"); this.oleAutomation = new OleAutomation((OleClientSite) this.oleControlSite); this.oleControlSite.doVerb(-3); }); Lsv2Util.setMedium(this.oleAutomation, 1); Lsv2Util.setIPAddress(this.oleAutomation, "192.168.1.12"); Lsv2Util.setHostFunction(this.oleAutomation, Boolean.valueOf(false)); boolean connected = Lsv2Util.connect(this.oleAutomation); System.out.println(connected); boolean b = Lsv2Util.testConnection(oleAutomation); System.out.println(b); //readNCState short type = 0; short address = 4176; short count = 1; String state = Lsv2Util.receiveMemBlock(this.oleAutomation, type, address, count); System.out.println(state); //readVersionTNC String versionTNC =Lsv2Util.getVersionTNC(this.oleAutomation); System.out.println(versionTNC); } }