VB编撰应用程序,将串口数据转换为键盘口的输出

VB编写应用程序,将串口数据转换为键盘口的输出
通过一台计算机的串口向另一台计算机的记事本中输入数据。也就是说主机A不断通过自己的串口发数据,这些数据以主机B键盘的形式显示在主机B的记事本上。

也就是主机B先接收串口数据,然后转为为键盘的输出,再在记事本上显示出来。
------解决方案--------------------
写一个程序,接收串口数据,通过 API 转成键盘消息。
------解决方案--------------------

当然,实际上写外部程序窗口(包括记事本界面)不一定非用键盘消息,可以通过 API 直接写的。

------解决方案--------------------
引用:
VB编程的,如何通过API直接将串口的数据显示在记事本上呢,麻烦了

我可以用VB接收到数据,但是怎样将接收到的数据通过API直接显示在记事本上呢


 
Public Declare Function GetCaretPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetFocus Lib "user32" () As Long
Public Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long


Private Function CaretPos() As POINTAPI
 Dim ptr As Long
 
 
 ptr = GetForegroundWindow()
  Dim p As POINTAPI
  Dim targetThreadID, localThreadID As Long
    
  '得到Caret在屏幕上的位置
  If ptr <> 0 Then
    targetThreadID = GetWindowThreadProcessId(ptr, 0)
    localThreadID = GetCurrentThreadId()

    If localThreadID <> targetThreadID Then
  
     Call AttachThreadInput(localThreadID, targetThreadID, 1)
          ptr = GetFocus()
        If (ptr <> 0) Then
           Call GetCaretPos(p)
           Call ClientToScreen(ptr, p)
                       
        End If
    Call AttachThreadInput(localThreadID, targetThreadID, 0)
    End If
 End If
 CaretPos = p
  
End Function



 Private Sub MSComm1_OnComm()
        
        Dim Pos     As POINTAPI
        Dim hResult     As Long
        Dim hwnd     As Long
        Dim Str     As String
        Dim i     As Integer
                        
        Select Case MSComm1.CommEvent
                Case comEvReceive

                        '获得当前光标位置