|
โค้ด VB.NET (2010) ในการ Start / Stop Service ของ MySQL Server (Localhost) ... สำหรับแอดมินอยู่สายงาน Win App ไม่ได้ใช้ Web ก็เลยไม่จำเป็นต้องลง Web Server ของ XAMPP แต่ใช้ MySQL Workbench ในการบริหารจัดการก็พอล่ะ ในการเขียนโค้ดนี้ขึ้นมาเพราะแอดมินจะต้องตามไปเปิดปิด Service ของ MySQL อยู่ตลอดเวลา คือเปิดเมื่อใช้งาน และจะปิดเมื่อเลิกใช้ แต่ใช้เป็น Win App มันจะสะดวกกว่าครับ ...
Services.msc
Add References ... ServiceProcess
Status Running ...
Status Stopping ...
มาดูโค้ดกันเถอะ ...
- '// Don't forget manually add a reference .NET to System.ServiceProcess.dll
- Imports System.ServiceProcess
- '// ServiceController Class
- '// https://learn.microsoft.com/en-us/dotnet/api/system.serviceprocess.servicecontroller?view=dotnet-plat-ext-7.0
- Public Class frmMySqlService
- '// Find the Machine Name or "." for this PC (Local).
- Private MachineName As String = My.Computer.Name '// "."
- '// Specific MySQL Local Instance name.
- Private SqlName As String = "MySQL57"
- '// ServiceController(MySQL Instance Name, Machine Name)
- Dim sc As New ServiceController
- Private Sub btnAction_Click(sender As System.Object, e As System.EventArgs) Handles btnAction.Click
- Try
- Select Case ServiceStatus()
- Case "Running"
- sc.Stop()
- sc.WaitForStatus(ServiceControllerStatus.Stopped)
- MessageBox.Show("Stop " & SqlName & " Servers.", "Report Status", MessageBoxButtons.OK, MessageBoxIcon.Information)
- btnAction.Text = "Start Service"
- Case "Stopped", "StopPending"
- sc.Start()
- sc.WaitForStatus(ServiceControllerStatus.Running)
- MessageBox.Show("Start " & SqlName & " Servers.", "Report Status", MessageBoxButtons.OK, MessageBoxIcon.Information)
- btnAction.Text = "Stop Service"
- End Select
- lblStatus.Text = "Status: " & ServiceStatus()
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- End Sub
- '// S T A R T ... H E R E
- Private Sub frmMySqlService_Load(sender As Object, e As System.EventArgs) Handles Me.Load
- lblStatus.Text = ""
- Try
- '// Check the status of the service.
- Select Case ServiceStatus()
- Case "Running"
- btnAction.Text = "Stop Service"
- Case "Stopped", "StopPending"
- btnAction.Text = "Start Service"
- End Select
- lblStatus.Text = "Status: " & sc.Status.ToString
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End
- End Try
- End Sub
- Function ServiceStatus() As String
- '// ServiceControllerStatus Meanings.
- '1 = Stopped – The Service is not running.
- '2 = StartPending – The Service is starting.
- '3 = StopPending – The Service is stopping.
- '4 = Running – The Service is running.
- '5 = ContinuePending – The Service continue is pending.
- '6 = PausePending – The Service pause is pending.
- '7 = Paused – The service is paused.
- '// ServiceController(MySQL Instance Name, Machine Name)
- sc = New ServiceProcess.ServiceController(SqlName, MachineName)
- '// Return string.
- Return sc.Status.ToString
- End Function
- Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click
- Me.Close()
- End Sub
- Private Sub frmMySqlService_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
- Me.Dispose()
- GC.SuppressFinalize(Me)
- End
- End Sub
- End Class
คัดลอกไปที่คลิปบอร์ด
ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้ที่นี่ ...
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน
x
|