VB.NETでCOMコンポーネント作るのが凄い簡単でした
http://www.vector.co.jp/soft/win95/prog/se373990.html
これを見るととても簡単そうなのでやってみたら、本当に簡単にできた。試しにMSCommっぽいの。
Imports Microsoft.VisualBasic Imports System.Runtime.InteropServices Imports System.IO.Ports Namespace CommPort Public Class Comm Public Port As Integer = 1 Public BaudRate As Integer = 9600 Public Parity As Integer = System.IO.Ports.Parity.None Public DataBits As Integer = 8 Public StopBits As Integer = 1 Dim serial As System.IO.Ports.SerialPort Public Sub Open() Dim portName As String portName = "COM" & Port serial = New System.IO.Ports.SerialPort(portName, BaudRate, Parity, DataBits) serial.Open() End Sub Public Sub Close() serial.Close() End Sub Public Function Input() As String Input = serial.ReadExisting() End Function Public Sub Output(ByVal text As String) serial.Write(text) End Sub End Class End Namespace
GPSで。
var comm = WSH.CreateObject("CommPort.Comm"); comm.Port = 7; comm.BaudRate = 4800; comm.Open(); var i = 0; while(i ++ < 10){ WSH.Echo(comm.Input()); WSH.Sleep(1000); }
ASRからWin32呼んでScriptControl使うとかより、こっちでやった方が簡単。ただ、あんまりやりすぎてもレジストリに書き込みまくってWindows自体が遅くなったりしそうだけど。