1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
Option Explicit On
Option Strict On
Imports System
Imports System.Threading
Imports System.IO.Ports
Imports System.ComponentModel
Imports System.Text
Imports System.ServiceProcess
Public Class Form1
Dim Init As String = (Chr(94) & Chr(94) & Chr(94) & Chr(94) & Chr(32) & Chr(0) & Chr(1) & Chr(6) & Chr(1) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(215) & Chr(112))
Dim RepInit As String = (Chr(94) & Chr(65) & Chr(0) & Chr(49) & Chr(224))
Dim DemandeEtatGroup As String = (Chr(94) & Chr(32) & Chr(0) & Chr(96) & Chr(2) & Chr(1) & Chr(1) & Chr(120) & Chr(235))
Dim G1arme As String = (Chr(94) & Chr(64) & Chr(0) & Chr(97) & Chr(2) & Chr(1) & Chr(128) & Chr(176))
Dim G1desarme As String = (Chr(94) & Chr(64) & Chr(0) & Chr(97) & Chr(2) & Chr(1) & Chr(0) & Chr(177) & Chr(119))
Dim sc As New ServiceController("ivsVideoServerService")
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Try
SerialPort1.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 200
Timer1.Enabled = False
With SerialPort1
.PortName = "COM1"
.BaudRate = 4800
.StopBits = CType(1, StopBits)
.DataBits = 8
.Parity = IO.Ports.Parity.None
End With
Try
SerialPort1.Open()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Dim TrameRecu As String = SerialPort1.ReadExisting()
Traitement(TrameRecu)
End Sub
Private Sub Traitement(ByVal Recu As String)
Me.Text = "Reçu : " & Recu
'Ici je doute de l'éfficacité de ton code
If Recu = RepInit Then SerialPort1.Write(DemandeEtatGroup)
Select Case Recu
Case G1desarme
sc.pause()
Case G1arme
sc.continue()
End Select
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SerialPort1.Write(Init)
End Sub
End Class |
Partager