⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.frm

📁 一个将扫描枪RS232输出格式自动转换为PS/2键盘格式输入的小程式
💻 FRM
字号:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form FrmMain 
   Caption         =   "Form1"
   ClientHeight    =   1065
   ClientLeft      =   165
   ClientTop       =   840
   ClientWidth     =   2010
   LinkTopic       =   "Form1"
   ScaleHeight     =   71
   ScaleMode       =   3  'Pixel
   ScaleWidth      =   134
   StartUpPosition =   3  '窗口缺省
   Visible         =   0   'False
   Begin MSCommLib.MSComm MSComm1 
      Left            =   960
      Top             =   120
      _ExtentX        =   1005
      _ExtentY        =   1005
      _Version        =   393216
      DTREnable       =   -1  'True
   End
   Begin VB.Image ImgIcon 
      Height          =   480
      Index           =   0
      Left            =   0
      Picture         =   "FrmMain.frx":0000
      Tag             =   "RS232ToPS2 Tools Copyright by Andy_liu"
      Top             =   0
      Width           =   480
   End
   Begin VB.Menu MnuTaskbar 
      Caption         =   "功能菜单"
      Begin VB.Menu MnuSetting 
         Caption         =   "设置(&S)"
      End
      Begin VB.Menu MnuAbout 
         Caption         =   "关于(&A)"
      End
      Begin VB.Menu MnuExit 
         Caption         =   "退出(&X)"
      End
   End
End
Attribute VB_Name = "FrmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2

Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4

Private Const WM_MOUSEMOVE = &H200     'define mouse button related const

Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205

Private Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

Dim mtIconData As NOTIFYICONDATA
Dim mnOp As Integer

Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Private Sub Form_Load()
RegQuery    'test it's first loading on this computer
If ComPortNum = 0 Then 'there are not item on this computer's register sheet
  RegSetting        'if it's first times then append register item
  ComPortNum = 1
  AutoRun = 1
  FrmMain.Show
End If
  AddIconToTray         'add icon to task bar
On Error GoTo ErrDeal1
With MSComm1
     If .PortOpen = True Then .PortOpen = False
     .Handshaking = comRTS
     .CommPort = ComPortNum              '使用COM1
     .Settings = "9600,n,8,1"       '设置通信口参数
     .InBufferSize = 40     '设置MSComm1接收缓冲区为40字节
     .OutBufferSize = 18     '设置MSComm1发送缓冲区为2字节
     .InputMode = comInputModeText    '设置接收数据模式为二进制形式
     .InputLen = 0     '设置Input 一次从接收缓冲读取字节数为1
     .SThreshold = 0    '设置Output 一次从发送缓冲读取字节数为1
     .InBufferCount = 0 '清除接收缓冲区
'     .OutBufferiCount = 0     '清除发送缓冲区
     .RThreshold = 1    '设置接收一个字节产生OnComm事件
     .PortOpen = True       '打开通信口
End With
Exit Sub
ErrDeal1:
MsgBox "COMM端口有误,请进行设置!", vbInformation, "提示"
frmSetting.Show
End Sub
Private Sub MSComm1_OnComm()
Dim TmpString As String
TmpString = MSComm1.Input
SendKeys Trim(TmpString)

End Sub


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static bBusy As Boolean
If bBusy = False Then
  bBusy = True
  Select Case CLng(X)

  Case WM_LBUTTONDBLCLK  'if it's mouse left button dubble clicking
  Case WM_LBUTTONDOWN
  Case WM_LBUTTONUP
  Case WM_RBUTTONDBLCLK
  Case WM_RBUTTONDOWN
  Case WM_RBUTTONUP             'if it's mouse right button clicking then flip the menu
  PopupMenu MnuTaskbar, 2, , , MnuAbout
  End Select
  bBusy = False
End If



End Sub

Private Sub Form_Unload(Cancel As Integer)
'Call RegAutoStart

DeleteIconFromTray         'if unload then delete the icon item of task bar
Set FrmMain = Nothing   'unload total memory
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
End Sub
Private Sub AddIconToTray()
With mtIconData      'call API function to add icon to task bar
.cbSize = Len(mtIconData)
.hWnd = Me.hWnd
.uCallbackMessage = WM_MOUSEMOVE
.uID = 1&
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.hIcon = ImgIcon(0).Picture
.szTip = ImgIcon(0).Tag & Chr$(0)
If Shell_NotifyIcon(NIM_ADD, mtIconData) = 0 Then
MsgBox "不能创建图标!"
End If
End With

End Sub
Private Sub DeleteIconFromTray()
If Shell_NotifyIcon(NIM_DELETE, mtIconData) = 0 Then  'delete icon from task bar
MsgBox "不能删除图标!"
End If

End Sub



Private Sub MnuAbout_Click()
MsgBox "   RS232 To PS/2 Convert Tool   " & Chr(13) & Chr(10) & "            Copyright by Andy  "
End Sub

Private Sub MnuExit_Click()
'Unload frmSetting  'unload others form first
Unload Me
End Sub





Private Sub MnuSetting_Click()
frmSetting.Show
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -