908 lines
31 KiB
VB.net
908 lines
31 KiB
VB.net
|
|
Imports UTS_Core.UTSModule
|
|||
|
|
Imports UTS_Core.UTSModule.Service
|
|||
|
|
|
|||
|
|
Public Class FrmMain
|
|||
|
|
|
|||
|
|
#Region "窗体初始化"
|
|||
|
|
''' <summary>
|
|||
|
|
''' 窗体加载时启动项
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|||
|
|
InitSerName()
|
|||
|
|
|
|||
|
|
InitTabMain()
|
|||
|
|
|
|||
|
|
InitGrid()
|
|||
|
|
|
|||
|
|
Text = $"{Application.ProductName} {Application.ProductVersion}"
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub InitTabMain()
|
|||
|
|
TabTasks.SizeMode = TabSizeMode.Fixed '隐藏TabControl的表头
|
|||
|
|
TabTasks.ItemSize = New Size(0, 1)
|
|||
|
|
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary> 初始化本地IP </summary>
|
|||
|
|
Private Sub InitSerName()
|
|||
|
|
TsCboServiceName.Items.Clear()
|
|||
|
|
|
|||
|
|
InitUtsServices()
|
|||
|
|
|
|||
|
|
For Each service As UtsService In _services
|
|||
|
|
TsCboServiceName.Items.Add(service.Name)
|
|||
|
|
Next
|
|||
|
|
|
|||
|
|
If TsCboServiceName.Items.Count > 0 Then TsCboServiceName.SelectedIndex = 0
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
|
|||
|
|
#Region "服务控制信息"
|
|||
|
|
''' <summary>
|
|||
|
|
''' 所有服务的信息
|
|||
|
|
''' </summary>
|
|||
|
|
Private _services As List(Of UtsService)
|
|||
|
|
|
|||
|
|
Private _service As UtsService
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub InitUtsServices()
|
|||
|
|
_services = New List(Of UtsService)()
|
|||
|
|
|
|||
|
|
Try
|
|||
|
|
_services.Add(New UtsService(UtsRegistry.UpdateServiceName, UtsRegistry.UpdateServiceVersion))
|
|||
|
|
Catch ex As Exception
|
|||
|
|
Console.WriteLine($"Init UpdateService Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
|
|||
|
|
|
|||
|
|
Try
|
|||
|
|
_services.Add(New UtsService(UtsRegistry.DataServiceName, UtsRegistry.DataServiceVersion))
|
|||
|
|
Catch ex As Exception
|
|||
|
|
Console.WriteLine($"Init DataService Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 选择下拉框改变值
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsCboServiceName_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TsCboServiceName.SelectedIndexChanged
|
|||
|
|
_service = _services(TsCboServiceName.SelectedIndex)
|
|||
|
|
|
|||
|
|
TssLblServiceName.Text = $"{_service.Name} {_service.Version} :"
|
|||
|
|
UpdateServiceStatusTip(_service.ServicesStatus())
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub TsBtnReflushServices_Click(sender As Object, e As EventArgs) Handles TsBtnReflushServices.Click
|
|||
|
|
InitSerName()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 更新服务状态
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="status"></param>
|
|||
|
|
Private Sub UpdateServiceStatusTip(status As UtsService.ServiceStatusEnum)
|
|||
|
|
Static tipColor() As Color = {Color.Gray, Color.Red, Color.Aquamarine, Color.Blue, Color.Orange, Color.Blue, Color.Green}
|
|||
|
|
|
|||
|
|
TssLblServiceStatus.ForeColor = tipColor(status)
|
|||
|
|
TssLblServiceStatus.Text = $"{ UtsService.GetEnumDescription(status)}"
|
|||
|
|
|
|||
|
|
UpdateServiceEnabled(status)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub UpdateServiceEnabled(status As UtsService.ServiceStatusEnum)
|
|||
|
|
If status <= UtsService.ServiceStatusEnum.Nonentity Then '服务不存在状态
|
|||
|
|
TsBtnStartService.Enabled = False
|
|||
|
|
TsBtnCloseService.Enabled = False
|
|||
|
|
TsBtnRestartService.Enabled = False
|
|||
|
|
TsBtnConnService.Enabled = False
|
|||
|
|
TsBtnServiceInstall.Enabled = False
|
|||
|
|
TsBtnServiceUninstall.Enabled = False
|
|||
|
|
|
|||
|
|
If _tcpClient IsNot Nothing Then
|
|||
|
|
_tcpClient.Close()
|
|||
|
|
UpdateTcpTip(_tcpClient.IsOpen) '更新连接提示
|
|||
|
|
UpdateConnectionEnabled(_tcpClient.IsOpen) '根据连接,设置控件可操作性
|
|||
|
|
End If
|
|||
|
|
ElseIf status <= UtsService.ServiceStatusEnum.StartPending Then '服务存在未启用状态
|
|||
|
|
TsBtnStartService.Enabled = True
|
|||
|
|
TsBtnCloseService.Enabled = True
|
|||
|
|
TsBtnRestartService.Enabled = True
|
|||
|
|
TsBtnConnService.Enabled = False
|
|||
|
|
|
|||
|
|
TsBtnServiceInstall.Enabled = True
|
|||
|
|
TsBtnServiceUninstall.Enabled = True
|
|||
|
|
|
|||
|
|
If _tcpClient IsNot Nothing Then
|
|||
|
|
_tcpClient.Close()
|
|||
|
|
UpdateTcpTip(_tcpClient.IsOpen) '更新连接提示
|
|||
|
|
UpdateConnectionEnabled(_tcpClient.IsOpen) '根据连接,设置控件可操作性
|
|||
|
|
End If
|
|||
|
|
Else '服务存在且启用状态
|
|||
|
|
TsBtnStartService.Enabled = True
|
|||
|
|
TsBtnCloseService.Enabled = True
|
|||
|
|
TsBtnRestartService.Enabled = True
|
|||
|
|
TsBtnConnService.Enabled = True
|
|||
|
|
TsBtnServiceInstall.Enabled = True
|
|||
|
|
TsBtnServiceUninstall.Enabled = True
|
|||
|
|
|
|||
|
|
Try
|
|||
|
|
If _tcpClient Is Nothing Then
|
|||
|
|
InitTcpClient()
|
|||
|
|
_tcpClient.Open()
|
|||
|
|
|
|||
|
|
ElseIf _tcpClient.IsOpen = False Then
|
|||
|
|
_tcpClient.Open()
|
|||
|
|
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
UpdateTcpTip(_tcpClient.IsOpen) '更新连接提示
|
|||
|
|
UpdateConnectionEnabled(_tcpClient.IsOpen) '根据连接,设置控件可操作性
|
|||
|
|
Catch ex As Exception
|
|||
|
|
Console.WriteLine($"Tcp Client Open Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏检测服务按键
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnTestingServices_Click(sender As Object, e As EventArgs) Handles TsBtnTestingServices.Click
|
|||
|
|
If _service Is Nothing Then Return
|
|||
|
|
UpdateServiceStatusTip(_service.ServicesStatus())
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏点击一键安装
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnServiceInstall_Click(sender As Object, e As EventArgs) Handles TsBtnServiceInstall.Click
|
|||
|
|
Try
|
|||
|
|
_service.InstallService()
|
|||
|
|
MsgBox($"{_service.Name}服务安装成功!")
|
|||
|
|
Catch ex As Exception
|
|||
|
|
MsgBox($"InstallService Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
UpdateServiceStatusTip(_service.ServicesStatus())
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏卸载按键
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnServiceUninstall_Click(sender As Object, e As EventArgs) Handles TsBtnServiceUninstall.Click
|
|||
|
|
If MsgBox($"是否确定卸载操作", MsgBoxStyle.OkCancel) <> MsgBoxResult.Ok Then Return
|
|||
|
|
|
|||
|
|
Try
|
|||
|
|
_service.UnInstallService()
|
|||
|
|
MsgBox($"{_service.Name}服务卸载成功!")
|
|||
|
|
Catch ex As Exception
|
|||
|
|
MsgBox($"UnInstallService Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
UpdateServiceStatusTip(_service.ServicesStatus())
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏启用服务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnStartService_Click(sender As Object, e As EventArgs) Handles TsBtnStartService.Click
|
|||
|
|
Try
|
|||
|
|
_service.StartService()
|
|||
|
|
Catch ex As Exception
|
|||
|
|
MsgBox($"StartService Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
UpdateServiceStatusTip(_service.ServicesStatus())
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏停止服务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnCloseService_Click(sender As Object, e As EventArgs) Handles TsBtnCloseService.Click
|
|||
|
|
Try
|
|||
|
|
_service.StopService()
|
|||
|
|
Catch ex As Exception
|
|||
|
|
MsgBox($"StopService Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
UpdateServiceStatusTip(_service.ServicesStatus())
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏重启服务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnRestartService_Click(sender As Object, e As EventArgs) Handles TsBtnRestartService.Click
|
|||
|
|
Try
|
|||
|
|
_service.RestartService()
|
|||
|
|
Catch ex As Exception
|
|||
|
|
MsgBox($"RestartService Error:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
UpdateServiceStatusTip(_service.ServicesStatus())
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
|
|||
|
|
#Region "任务表格操作"
|
|||
|
|
Enum ColNameEnum
|
|||
|
|
Sn
|
|||
|
|
Act
|
|||
|
|
Type
|
|||
|
|
Name
|
|||
|
|
Max
|
|||
|
|
End Enum
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub InitGrid()
|
|||
|
|
With Grid1
|
|||
|
|
.NewFile()
|
|||
|
|
.BorderStyle = FlexCell.BorderStyleEnum.None
|
|||
|
|
.BackColorBkg = Color.Transparent
|
|||
|
|
.DisplayRowNumber = True
|
|||
|
|
.AutoRedraw = False
|
|||
|
|
.ExtendLastCol = True
|
|||
|
|
.Rows = 1
|
|||
|
|
.Cols = ColNameEnum.Max
|
|||
|
|
|
|||
|
|
.Column(ColNameEnum.Sn).Width = 20
|
|||
|
|
.Column(ColNameEnum.Act).Width = 30
|
|||
|
|
.Column(ColNameEnum.Type).Width = 40
|
|||
|
|
.Column(ColNameEnum.Act).CellType = FlexCell.CellTypeEnum.CheckBox
|
|||
|
|
|
|||
|
|
For col As Integer = 0 To ColNameEnum.Max - 1
|
|||
|
|
.Cell(0, col).Text = [Enum].GetName(GetType(ColNameEnum), col) '设置列名
|
|||
|
|
Next
|
|||
|
|
|
|||
|
|
.AutoRedraw = True
|
|||
|
|
.Refresh()
|
|||
|
|
End With
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub Grid1_SelChange(sender As Object, e As FlexCell.Grid.SelChangeEventArgs) Handles Grid1.SelChange
|
|||
|
|
If e.FirstRow > 0 Then
|
|||
|
|
TabTasks.SelectedIndex = e.FirstRow - 1
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
|
|||
|
|
#Region "服务通讯"
|
|||
|
|
Private _tcpClient As AutsTcpClient
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 连接服务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnConnService_Click(sender As Object, e As EventArgs) Handles TsBtnConnService.Click
|
|||
|
|
UpdateTcpClient()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 初始化网络套接字
|
|||
|
|
''' 注册表中无端口号时会引发异常
|
|||
|
|
''' </summary>
|
|||
|
|
Private Sub InitTcpClient()
|
|||
|
|
Static remoteIp As String = "127.0.0.1"
|
|||
|
|
Static remotePort As Integer = -1 '默认55533,实际使用从注册表中获取
|
|||
|
|
|
|||
|
|
remotePort = CInt(UtsRegistry.DataServicePort)
|
|||
|
|
|
|||
|
|
_tcpClient = New AutsTcpClient(remoteIp, remotePort)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub UpdateTcpClient()
|
|||
|
|
Dim tcpConnect As Boolean
|
|||
|
|
If _tcpClient IsNot Nothing AndAlso _tcpClient.IsOpen Then
|
|||
|
|
_tcpClient.Close()
|
|||
|
|
tcpConnect = False
|
|||
|
|
Else
|
|||
|
|
Try
|
|||
|
|
InitTcpClient()
|
|||
|
|
_tcpClient.Open()
|
|||
|
|
tcpConnect = True
|
|||
|
|
Catch ex As Exception
|
|||
|
|
Console.WriteLine($"Open Tcp Client Error:{ex.Message}")
|
|||
|
|
tcpConnect = False
|
|||
|
|
End Try
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
UpdateTcpTip(tcpConnect) '更新连接提示
|
|||
|
|
UpdateConnectionEnabled(tcpConnect) '根据连接,设置控件可操作性
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 更新网络的提示状态
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="connected">是否连接成功</param>
|
|||
|
|
Private Sub UpdateTcpTip(connected As Boolean)
|
|||
|
|
If connected Then
|
|||
|
|
TssLblConnState.Text = $"已建立TCP连接!"
|
|||
|
|
TssLblConnState.ForeColor = Color.Green
|
|||
|
|
|
|||
|
|
TsBtnConnService.Text = $"断连服务"
|
|||
|
|
TsBtnConnService.ForeColor = Color.Red
|
|||
|
|
Else
|
|||
|
|
TssLblConnState.Text = $"无TCP连接!"
|
|||
|
|
TssLblConnState.ForeColor = Color.Red
|
|||
|
|
|
|||
|
|
TsBtnConnService.Text = $"连接服务"
|
|||
|
|
TsBtnConnService.ForeColor = Color.Green
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub UpdateConnectionEnabled(connected As Boolean)
|
|||
|
|
TsBtDelTasks.Enabled = connected
|
|||
|
|
TsBtnAddTasks.Enabled = connected
|
|||
|
|
TsBtnStartTasks.Enabled = connected
|
|||
|
|
TsBtnStopTasks.Enabled = connected
|
|||
|
|
TsBtnRestartTasks.Enabled = connected
|
|||
|
|
TsBtnGetTask.Enabled = connected
|
|||
|
|
TsBtnSetTasks.Enabled = connected
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
|
|||
|
|
#Region "任务命令"
|
|||
|
|
''' <summary> 公共用户 </summary>
|
|||
|
|
Private _user As String = "Root"
|
|||
|
|
|
|||
|
|
Private _tasks As New TaskForms
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 校验回复字符串
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="replyString"></param>
|
|||
|
|
''' <param name="cmdName"></param>
|
|||
|
|
''' <returns></returns>
|
|||
|
|
Private Function CheckReplyString(replyString As String, cmdName As TaskJsonParam.CmdNamesEnum) As TaskJsonParam
|
|||
|
|
If String.IsNullOrWhiteSpace(replyString) Then Return Nothing
|
|||
|
|
|
|||
|
|
Dim replyParam As TaskJsonParam
|
|||
|
|
replyParam = TaskJsonParam.DeserializeFormJson(replyString)
|
|||
|
|
|
|||
|
|
If replyParam.CmdName <> cmdName Then Return Nothing
|
|||
|
|
|
|||
|
|
Return replyParam
|
|||
|
|
End Function
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 添加任务
|
|||
|
|
''' </summary>
|
|||
|
|
Private Sub AddTasks()
|
|||
|
|
_addFrom = New FrmAddTask
|
|||
|
|
If _addFrom.ShowDialog <> DialogResult.OK Then Return
|
|||
|
|
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.AddTasks, _user, Application.ProductName)
|
|||
|
|
taskParam.TasksInfo.Add(_addFrom.TaskForm.GetParams())
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
|
|||
|
|
_addFrom.Dispose()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub AddTaskGrid(taskStatus As String, taskType As String, taskName As String)
|
|||
|
|
Grid1.AddItem("")
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Act).Text = CStr(IIf(taskStatus = "Start", "1", "0"))
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Type).Text = taskType
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Name).Text = taskName
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Sn).SetFocus()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub ChangeTaskGrid(taskStatus As String, taskType As String, taskName As String)
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Act).Text = CStr(IIf(taskStatus = "Start", "1", "0"))
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Type).Text = taskType
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Name).Text = taskName
|
|||
|
|
Grid1.Cell(Grid1.Rows - 1, ColNameEnum.Sn).SetFocus()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub AddTaskForm(taskForm As ITaskForm)
|
|||
|
|
Dim tp As New TabPage
|
|||
|
|
taskForm.ShowForm(tp)
|
|||
|
|
TabTasks.TabPages.Add(tp)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub RemoveTaskGrid(index As Integer)
|
|||
|
|
Grid1.Row(index + 1).Delete()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub RemoveAtTaskForm(index As Integer)
|
|||
|
|
TabTasks.TabPages.RemoveAt(index)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub StartTaskForm(index As Integer)
|
|||
|
|
Grid1.Cell(index + 1, ColNameEnum.Act).Text = "1"
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub StopTaskForm(index As Integer)
|
|||
|
|
Grid1.Cell(index + 1, ColNameEnum.Act).Text = "0"
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 删除任务
|
|||
|
|
''' </summary>
|
|||
|
|
Private Sub DeleteTasks()
|
|||
|
|
If MsgBox("是否删除当前任务?", MsgBoxStyle.OkCancel) <> MsgBoxResult.Ok Then Return
|
|||
|
|
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.DeleteTasks, _user, Application.ProductName)
|
|||
|
|
taskParam.TasksName.Add(Grid1.Cell(TabTasks.SelectedIndex + 1, ColNameEnum.Name).Text)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 开启任务
|
|||
|
|
''' </summary>
|
|||
|
|
Private Sub StartTasks()
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.StartTasks, _user, Application.ProductName)
|
|||
|
|
taskParam.TasksName.Add(Grid1.Cell(TabTasks.SelectedIndex + 1, ColNameEnum.Name).Text)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 暂停任务
|
|||
|
|
''' </summary>
|
|||
|
|
Private Sub StopTasks()
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.StopTasks, _user, Application.ProductName)
|
|||
|
|
taskParam.TasksName.Add(Grid1.Cell(TabTasks.SelectedIndex + 1, ColNameEnum.Name).Text)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 获取任务参数
|
|||
|
|
''' </summary>
|
|||
|
|
Private Sub GetTasksParam()
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.GetTasks, _user, Application.ProductName)
|
|||
|
|
taskParam.TasksName.Add(Grid1.Cell(TabTasks.SelectedIndex + 1, ColNameEnum.Name).Text)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 设置任务参数
|
|||
|
|
''' </summary>
|
|||
|
|
Private Sub SetTasksParam()
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.SetTasks, _user, Application.ProductName)
|
|||
|
|
taskParam.TasksName.Add(Grid1.Cell(TabTasks.SelectedIndex + 1, ColNameEnum.Name).Text)
|
|||
|
|
taskParam.TasksInfo.Add(_tasks.GetParams(TabTasks.SelectedIndex))
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 重启任务,立即执行
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnRestartTasks_Click(sender As Object, e As EventArgs) Handles TsBtnRestartTasks.Click
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.RestartTasks, _user, Application.ProductName)
|
|||
|
|
taskParam.TasksName.Add(Grid1.Cell(TabTasks.SelectedIndex + 1, ColNameEnum.Name).Text)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏添加任务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnAddTasks_Click(sender As Object, e As EventArgs) Handles TsBtnAddTasks.Click, CmsBtnAddTasks.Click
|
|||
|
|
AddTasks()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏删除任务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtDelTasks_Click(sender As Object, e As EventArgs) Handles TsBtDelTasks.Click, CmsBtnDeleteTasks.Click
|
|||
|
|
DeleteTasks()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏开启任务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnStartTasks_Click(sender As Object, e As EventArgs) Handles TsBtnStartTasks.Click, CmsBtnStartTasks.Click
|
|||
|
|
StartTasks()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏暂停任务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnStopTasks_Click(sender As Object, e As EventArgs) Handles TsBtnStopTasks.Click, CmsBtnStopTasks.Click
|
|||
|
|
StopTasks()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏获取任务参数
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnGetTask_Click(sender As Object, e As EventArgs) Handles TsBtnGetTask.Click, CmsBtnGetTasks.Click
|
|||
|
|
GetTasksParam()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 工具栏设置任务参数
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsBtnSetTasks_Click(sender As Object, e As EventArgs) Handles TsBtnSetTasks.Click, CmsBtnSetTasks.Click
|
|||
|
|
SetTasksParam()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 右键菜单全部开启任务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub CmsBtnStartAllTasks_Click(sender As Object, e As EventArgs) Handles CmsBtnStartAllTasks.Click
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.StartAllTasks, _user, Application.ProductName)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 右键菜单全部暂停任务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub CmsBtnStopAllTasks_Click(sender As Object, e As EventArgs) Handles CmsBtnStopAllTasks.Click
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.StopAllTasks, _user, Application.ProductName)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 右键菜单全部删除任务
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub CmsBtnDeleteAllTasks_Click(sender As Object, e As EventArgs) Handles CmsBtnDeleteAllTasks.Click
|
|||
|
|
If MsgBox("是否删除所有任务?", MsgBoxStyle.OkCancel) <> MsgBoxResult.Ok Then Return
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.DeleteAllTasks, _user, Application.ProductName)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 右键菜单获取全部任务参数
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub CmsBtnGetAllTasks_Click(sender As Object, e As EventArgs) Handles CmsBtnGetAllTasks.Click, CmsBtnRefreshList.Click
|
|||
|
|
Dim taskParam As New TaskJsonParam(TaskJsonParam.CmdNamesEnum.GetAllTasks, _user, Application.ProductName)
|
|||
|
|
ServiceCommunicator(taskParam)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 与服务通讯,包含发送,接收,处理过程
|
|||
|
|
'''→◆Recv: '接收
|
|||
|
|
'''←◇Send: '发送
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="taskParam"></param>
|
|||
|
|
Private Sub ServiceCommunicator(taskParam As TaskJsonParam)
|
|||
|
|
Dim aTime As String = Date.Now.ToString("yyyy-MM-dd HH:mm:ss:fff ")
|
|||
|
|
Try
|
|||
|
|
Dim jsonString As String = TaskJsonParam.SerializeToJson(taskParam) & vbCrLf
|
|||
|
|
_tcpClient.WriteJsonString(jsonString) '发送数据
|
|||
|
|
|
|||
|
|
AppendTextTip($"←◇Send[{aTime}]{vbLf}", Color.Gray)
|
|||
|
|
AppendTextTip($"{jsonString}{vbCrLf}", Color.Blue)
|
|||
|
|
Catch ex As Exception
|
|||
|
|
MsgBox($"SendJsonString Error:{ex.Message}")
|
|||
|
|
Return
|
|||
|
|
End Try
|
|||
|
|
|
|||
|
|
Dim replyString As String = _tcpClient.ReadJsonString()
|
|||
|
|
|
|||
|
|
Try
|
|||
|
|
Dim replyParam As TaskJsonParam = CheckReplyString(replyString, taskParam.CmdName) '接收数据校验
|
|||
|
|
AppendTextTip($"→◆Recv[{aTime}]{vbLf}", Color.Gray)
|
|||
|
|
AppendTextTip($"{replyString}{vbCrLf}", Color.Green)
|
|||
|
|
|
|||
|
|
If replyParam.CmdStatus = TaskJsonParam.CmdStatusEnum.Pass.ToString() Then
|
|||
|
|
DealFunction(replyParam)
|
|||
|
|
TssLblExcuteTip.Text = $"Cmd:{replyParam.CmdName},Excute Pass!"
|
|||
|
|
TssLblExcuteTip.ForeColor = Color.Green
|
|||
|
|
Else
|
|||
|
|
TssLblExcuteTip.Text = $"Cmd:{replyParam.CmdName} {replyParam.CmdStatus},Msg:{replyParam.CmdMsg}"
|
|||
|
|
TssLblExcuteTip.ForeColor = Color.Red
|
|||
|
|
End If
|
|||
|
|
Catch ex As Exception
|
|||
|
|
TssLblExcuteTip.Text = $"Cmd:{taskParam.CmdName} Deal ReplyString Error:{ex.Message}"
|
|||
|
|
TssLblExcuteTip.ForeColor = Color.Blue
|
|||
|
|
Return
|
|||
|
|
End Try
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub DealFunction(replyParam As TaskJsonParam)
|
|||
|
|
Select Case replyParam.CmdName
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.AddTasks
|
|||
|
|
DealAddTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.DeleteTasks
|
|||
|
|
DealDeleteTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.StartTasks, TaskJsonParam.CmdNamesEnum.RestartTasks
|
|||
|
|
DealStartTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.StopTasks
|
|||
|
|
DealStopTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.GetTasks
|
|||
|
|
DealGetTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.SetTasks
|
|||
|
|
DealSetTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.StartAllTasks, TaskJsonParam.CmdNamesEnum.RestartAllTasks
|
|||
|
|
DealStartAllTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.StopAllTasks
|
|||
|
|
DealStopAllTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.DeleteAllTasks
|
|||
|
|
DealDeleteAllTasks(replyParam)
|
|||
|
|
Case TaskJsonParam.CmdNamesEnum.GetAllTasks
|
|||
|
|
DealGetAllTasks(replyParam)
|
|||
|
|
End Select
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub DealStartAllTasks(replyParam As TaskJsonParam)
|
|||
|
|
For i As Integer = 1 To Grid1.Rows - 1
|
|||
|
|
Grid1.Cell(i, ColNameEnum.Act).Text = "1"
|
|||
|
|
Next
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub DealStopAllTasks(replyParam As TaskJsonParam)
|
|||
|
|
For i As Integer = 1 To Grid1.Rows - 1
|
|||
|
|
Grid1.Cell(i, ColNameEnum.Act).Text = "0"
|
|||
|
|
Next
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub DealDeleteAllTasks(replyParam As TaskJsonParam)
|
|||
|
|
Grid1.Rows = 1
|
|||
|
|
TabTasks.TabPages.Clear()
|
|||
|
|
_tasks.Clear()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub DealGetAllTasks(replyParam As TaskJsonParam)
|
|||
|
|
DealDeleteAllTasks(replyParam)
|
|||
|
|
|
|||
|
|
For Each taskInfo As Dictionary(Of String, String) In replyParam.TasksInfo
|
|||
|
|
Dim taskType As ServiceTask.ServiceTaskTypeEnum = CType([Enum].Parse(GetType(ServiceTask.ServiceTaskTypeEnum), taskInfo("Type")), ServiceTask.ServiceTaskTypeEnum)
|
|||
|
|
Dim taskForm As ITaskForm
|
|||
|
|
Select Case taskType
|
|||
|
|
Case ServiceTask.ServiceTaskTypeEnum.DbSync
|
|||
|
|
taskForm = New FrmSyncTasks()
|
|||
|
|
Case ServiceTask.ServiceTaskTypeEnum.ListenJsonFile
|
|||
|
|
taskForm = New FrmListenTasks()
|
|||
|
|
Case Else
|
|||
|
|
Throw New Exception($"Unknow TaskType:{taskType}")
|
|||
|
|
End Select
|
|||
|
|
|
|||
|
|
_tasks.Add(taskForm)
|
|||
|
|
AddTaskForm(taskForm)
|
|||
|
|
AddTaskGrid(taskInfo("Status"), taskInfo("Type"), taskInfo("Name"))
|
|||
|
|
|
|||
|
|
taskForm.SetParam(taskInfo)
|
|||
|
|
Next
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private _addFrom As FrmAddTask
|
|||
|
|
Private Sub DealAddTasks(replyParam As TaskJsonParam)
|
|||
|
|
_tasks.Add(_addFrom.TaskForm)
|
|||
|
|
AddTaskForm(_addFrom.TaskForm)
|
|||
|
|
AddTaskGrid("0", _addFrom.TaskForm.GetParams("Type"), _addFrom.TaskForm.GetParams("Name"))
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub DealDeleteTasks(replyParam As TaskJsonParam)
|
|||
|
|
_tasks.RemoveAt(TabTasks.SelectedIndex)
|
|||
|
|
RemoveTaskGrid(TabTasks.SelectedIndex)
|
|||
|
|
RemoveAtTaskForm(TabTasks.SelectedIndex)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub DealStartTasks(replyParam As TaskJsonParam)
|
|||
|
|
_tasks.SetStatus(TabTasks.SelectedIndex, ServiceTask.ServiceTaskStatusEnum.Start)
|
|||
|
|
StartTaskForm(TabTasks.SelectedIndex)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub DealStopTasks(replyParam As TaskJsonParam)
|
|||
|
|
_tasks.SetStatus(TabTasks.SelectedIndex, ServiceTask.ServiceTaskStatusEnum.Stop)
|
|||
|
|
StopTaskForm(TabTasks.SelectedIndex)
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub DealGetTasks(replyParam As TaskJsonParam)
|
|||
|
|
For Each taskInfo As Dictionary(Of String, String) In replyParam.TasksInfo
|
|||
|
|
If taskInfo.ContainsKey("Name") Then
|
|||
|
|
If _tasks.GetParams(TabTasks.SelectedIndex).Item("Name") = taskInfo.Item("Name") Then
|
|||
|
|
ChangeTaskGrid(taskInfo("Status"), taskInfo("Type"), taskInfo("Name"))
|
|||
|
|
_tasks.SetParams(TabTasks.SelectedIndex, taskInfo)
|
|||
|
|
Else
|
|||
|
|
Console.WriteLine($"Unsearch Name:{taskInfo.Item("Name")}")
|
|||
|
|
End If
|
|||
|
|
Else
|
|||
|
|
Console.WriteLine($"UnExitst Name Filed!")
|
|||
|
|
End If
|
|||
|
|
Next
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub DealSetTasks(replyParam As TaskJsonParam)
|
|||
|
|
|
|||
|
|
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
#Region "添加通讯记录"
|
|||
|
|
Private _isShowLog As Boolean = True '是否显示通讯记录数据
|
|||
|
|
Private _isShowTip As Boolean = True '是否显示通讯记录提示
|
|||
|
|
Private _isClosing As Boolean = False '是否窗体处于关闭状态
|
|||
|
|
''' <summary>
|
|||
|
|
''' 添加记录并设置格式
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="str">添加的记录内容</param>
|
|||
|
|
''' <param name="cor">需要设置的记录颜色</param>
|
|||
|
|
Private Sub AppendTextTip(ByVal str As String, ByVal cor As Color)
|
|||
|
|
Dim selStart As Integer
|
|||
|
|
Dim selLength As Integer
|
|||
|
|
selStart = RtxCommunicationLogs.TextLength
|
|||
|
|
RtxCommunicationLogs.AppendText(str)
|
|||
|
|
RtxCommunicationLogs.ScrollToCaret() '关键语句:将焦点滚动到文本内容后
|
|||
|
|
selLength = RtxCommunicationLogs.TextLength - selStart
|
|||
|
|
RtxCommunicationLogs.Select(selStart, selLength)
|
|||
|
|
RtxCommunicationLogs.SelectionColor = cor
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub AppendTipText(recordString As String, col As Color)
|
|||
|
|
If _isClosing Then Return
|
|||
|
|
If _isShowTip = False Then Return
|
|||
|
|
If RtxCommunicationLogs.InvokeRequired Then
|
|||
|
|
RtxCommunicationLogs.Invoke(New Action(Sub()
|
|||
|
|
If RtxCommunicationLogs.Lines.Count >= 256 Then RtxCommunicationLogs.Clear()
|
|||
|
|
AppendTextTip($"{recordString}", col)
|
|||
|
|
RtxCommunicationLogs.ScrollToCaret()
|
|||
|
|
End Sub))
|
|||
|
|
Else
|
|||
|
|
If RtxCommunicationLogs.Lines.Count >= 256 Then RtxCommunicationLogs.Clear()
|
|||
|
|
AppendTextTip($"{recordString}", col)
|
|||
|
|
RtxCommunicationLogs.ScrollToCaret()
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 点击是否收起通讯日志
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsmPackUpRecord_Click(sender As Object, e As EventArgs) Handles TsmPackUpRecord.Click
|
|||
|
|
SplMain.Panel2Collapsed = Not SplMain.Panel2Collapsed
|
|||
|
|
If Not SplMain.Panel2Collapsed Then
|
|||
|
|
TsmPackUpRecord.Text = $"隐藏通讯日志"
|
|||
|
|
Else
|
|||
|
|
TsmPackUpRecord.Text = $"显示通讯日志"
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
''' <summary>
|
|||
|
|
''' 点击清空通讯日志
|
|||
|
|
''' </summary>
|
|||
|
|
''' <param name="sender"></param>
|
|||
|
|
''' <param name="e"></param>
|
|||
|
|
Private Sub TsmClearRecord_Click(sender As Object, e As EventArgs) Handles TsmClearRecord.Click
|
|||
|
|
RtxCommunicationLogs.Clear()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
|
|||
|
|
#Region "一键配置更新"
|
|||
|
|
|
|||
|
|
Private Sub TsmConfigUpdate_Click(sender As Object, e As EventArgs) Handles TsmConfigUpdate.Click
|
|||
|
|
Dim root As String = $"software\AUTS"
|
|||
|
|
If UtsRegistry.RootDirExists = False Then
|
|||
|
|
Try
|
|||
|
|
Microsoft.Win32.Registry.LocalMachine.CreateSubKey($"{root}\LocalDb")
|
|||
|
|
Microsoft.Win32.Registry.LocalMachine.CreateSubKey($"{root}\AUTS_DataService")
|
|||
|
|
Microsoft.Win32.Registry.LocalMachine.CreateSubKey($"{root}\AUTS_UpdateService")
|
|||
|
|
Catch ex As Exception
|
|||
|
|
Console.WriteLine($"创建注册表项失败! 失败原因:{ex.Message}")
|
|||
|
|
End Try
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
'配置更新
|
|||
|
|
|
|||
|
|
Dim result As DialogResult = FrmUpdateConfig.ShowDialog()
|
|||
|
|
InitSerName()
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
|
|||
|
|
#Region "关闭窗体"
|
|||
|
|
|
|||
|
|
Private Sub FrmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
|||
|
|
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
|
|||
|
|
Private Sub 卸载服务ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 卸载服务ToolStripMenuItem.Click
|
|||
|
|
Dim filePath As String
|
|||
|
|
Using fileOpen As OpenFileDialog = New OpenFileDialog()
|
|||
|
|
fileOpen.Filter = $"服务执行程序(*.exe)|*.exe"
|
|||
|
|
If fileOpen.ShowDialog() <> DialogResult.OK Then
|
|||
|
|
Return
|
|||
|
|
End If
|
|||
|
|
filePath = fileOpen.FileName
|
|||
|
|
End Using
|
|||
|
|
|
|||
|
|
If WinService.UnInstallService(filePath, Nothing) Then
|
|||
|
|
MsgBox($"路径:{filePath},卸载服务成功")
|
|||
|
|
Else
|
|||
|
|
MsgBox($"路径:{filePath},卸载服务失败!")
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
Private Sub 输入路径卸载服务ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 输入路径卸载服务ToolStripMenuItem.Click
|
|||
|
|
Dim filePath As String = InputBox($"请输入服务执行文件路径", "卸载服务")
|
|||
|
|
If String.IsNullOrWhiteSpace(filePath) Then
|
|||
|
|
MsgBox($"路径:{filePath},是无效路径,请重新输入!")
|
|||
|
|
Return
|
|||
|
|
End If
|
|||
|
|
|
|||
|
|
If WinService.UnInstallService(filePath, Nothing) Then
|
|||
|
|
MsgBox($"路径:{filePath},卸载服务成功")
|
|||
|
|
Else
|
|||
|
|
MsgBox($"路径:{filePath},卸载服务失败!")
|
|||
|
|
End If
|
|||
|
|
End Sub
|
|||
|
|
|
|||
|
|
#End Region
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
End Class
|