Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > อยากทราบวิธีเขียน Window Service ให้รันไฟล์ .exe ด้วย visual basic VB2010 ครับ



 

อยากทราบวิธีเขียน Window Service ให้รันไฟล์ .exe ด้วย visual basic VB2010 ครับ

 



Topic : 067395

Guest




อยากทราบวิธีการเขียน window service เพื่อสั่งให้ window app ทำงานเมื่อเครื่อง start ครับ ว่าต้องเขียนยังไง ขอบคุณครับ
Code (VB.NET)
Imports System.ServiceProcess

Public Class MyService

    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.
    End Sub

    Protected Overrides Sub OnStop()
        ' Add code here to perform any tear-down necessary to stop your service.
    End Sub

End Class




Tag : .NET, Win (Windows App), VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-30 15:21:35 By : tarlek View : 3052 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (VB.NET)
System.Diagnostics.Process.Start("C:\MyApp.exe")



Go to : ASP.NET Run/Execute/Kill Process EXE






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-30 18:32:21 By : webmaster
 


 

No. 2

Guest


Code (VB.NET)
Dim service As New ServiceController("MyServiceName")
If (service.Status.Equals(ServiceControllerStatus.Stopped)) OrElse (service.Status.Equals(ServiceControllerStatus.StopPending)) Then
	service.Start()
Else
	service.Stop()
End If


Go to : .NET vb.net สามารถ restart service ใน control panel ได้หรือเปล่าครับ
Go to : Asp.net. สั่งให้ start-stop-restart service ใน control panel ของ Windows ได้ยังไงครับ (Start/Stop Services With ASP.NET)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-27 08:43:12 By : tc
 

 

No. 3

Guest


จากโค้ด Vb6 ด้านล่าง รันWindow Service บน Win Xp3
ไม่ยอมขึ้น Status:Stared มันจะขึ้น Staring แทน แล้วก้อหายไปเป็นค่าว่าง
รบกวนท่านผู้รู้ ช่วยหน่อยค่ะ ขอบคุณ


Win XP

http://visualbasic.happycodings.com/Windows_and_Controls/code42.html


Start, Stop and Pause NT Services

The following routines can be used to control NT Services on a local or remote machine. A demonstration routine is at the bottom of the post:

Option Explicit

Public Enum eServiceState
    essStopService
    essStartService
    essPauseService
End Enum

Private Declare Function CloseServiceHandle Lib "advapi32.dll" (ByVal hSCObject As Long) As Long
Private Declare Function ControlService Lib "advapi32.dll" (ByVal lHwndService As Long, ByVal dwControl As Long, lpServiceStatus As SERVICE_STATUS) As Long
Private Declare Function OpenSCManager Lib "advapi32.dll" Alias "OpenSCManagerA" (ByVal lpMachineName As String, ByVal lpDatabaseName As String, ByVal dwDesiredAccess As Long) As Long
Private Declare Function OpenService Lib "advapi32.dll" Alias "OpenServiceA" (ByVal hSCManager As Long, ByVal lpServiceName As String, ByVal dwDesiredAccess As Long) As Long
Private Declare Function QueryServiceStatus Lib "advapi32.dll" (ByVal lHwndService As Long, lpServiceStatus As SERVICE_STATUS) As Long
Private Declare Function StartService Lib "advapi32.dll" Alias "StartServiceA" (ByVal lHwndService As Long, ByVal dwNumServiceArgs As Long, ByVal lpServiceArgVectors As Long) As Long

Private Const SERVICES_ACTIVE_DATABASE = "ServicesActive"
Private Const SERVICE_CONTROL_STOP = &H1
Private Const SERVICE_CONTROL_PAUSE = &H2
Private Const SERVICE_STOPPED = &H1
Private Const SERVICE_START_PENDING = &H2
Private Const SERVICE_STOP_PENDING = &H3
Private Const SERVICE_RUNNING = &H4
Private Const SERVICE_CONTINUE_PENDING = &H5
Private Const SERVICE_PAUSE_PENDING = &H6
Private Const SERVICE_PAUSED = &H7
Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const SC_MANAGER_CONNECT = &H1
Private Const SC_MANAGER_CREATE_SERVICE = &H2
Private Const SC_MANAGER_ENUMERATE_SERVICE = &H4
Private Const SC_MANAGER_LOCK = &H8
Private Const SC_MANAGER_QUERY_LOCK_STATUS = &H10
Private Const SC_MANAGER_MODIFY_BOOT_CONFIG = &H20
Private Const SC_MANAGER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SC_MANAGER_CONNECT Or SC_MANAGER_CREATE_SERVICE Or SC_MANAGER_ENUMERATE_SERVICE Or SC_MANAGER_LOCK Or SC_MANAGER_QUERY_LOCK_STATUS Or SC_MANAGER_MODIFY_BOOT_CONFIG)
Private Const SERVICE_QUERY_CONFIG = &H1
Private Const SERVICE_CHANGE_CONFIG = &H2
Private Const SERVICE_QUERY_STATUS = &H4
Private Const SERVICE_ENUMERATE_DEPENDENTS = &H8
Private Const SERVICE_START = &H10
Private Const SERVICE_STOP = &H20
Private Const SERVICE_PAUSE_CONTINUE = &H40
Private Const SERVICE_INTERROGATE = &H80
Private Const SERVICE_USER_DEFINED_CONTROL = &H100
Private Const SERVICE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SERVICE_QUERY_CONFIG Or SERVICE_CHANGE_CONFIG Or SERVICE_QUERY_STATUS Or SERVICE_ENUMERATE_DEPENDENTS Or SERVICE_START Or SERVICE_STOP Or SERVICE_PAUSE_CONTINUE Or SERVICE_INTERROGATE Or SERVICE_USER_DEFINED_CONTROL)

Private Type SERVICE_STATUS
    dwServiceType As Long
    dwCurrentState As Long
    dwControlsAccepted As Long
    dwWin32ExitCode As Long
    dwServiceSpecificExitCode As Long
    dwCheckPoint As Long
    dwWaitHint As Long
End Type

 
'Purpose     :  Returns the status of a NT Service
'Inputs      :  sServiceName                The name of the service to test
'               [sComputerName]             The name of the machine to test the service status on.
'                                           If unspecified uses the local machine
'Outputs     :  Returns a English description of the service status


Public Function ServiceStatus(sServiceName As String, Optional sComputerName As String) As String
    Dim tServiceStat As SERVICE_STATUS
    Dim lHwndSManager As Long
    Dim lHwndService As Long
    Dim hServiceStatus As Long
    
    'Check the input data
    If InStr(1, sServiceName, " ") Then
        Debug.Print "Service names cannot contain spaces. Use the 'Service Name' of the service, not the 'Display Name'"
        Exit Function
    End If

    ServiceStatus = ""
    'Open the service manager
    lHwndSManager = OpenSCManager(sComputerName, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS)
    If lHwndSManager <> 0 Then
        'Open the service
        lHwndService = OpenService(lHwndSManager, sServiceName, SERVICE_ALL_ACCESS)
        If lHwndService <> 0 Then
            'Query the service
            hServiceStatus = QueryServiceStatus(lHwndService, tServiceStat)
            If hServiceStatus <> 0 Then
                Select Case tServiceStat.dwCurrentState
                Case SERVICE_STOPPED
                    ServiceStatus = "Stopped"
                Case SERVICE_START_PENDING
                    ServiceStatus = "Start Pending"
                Case SERVICE_STOP_PENDING
                    ServiceStatus = "Stop Pending"
                Case SERVICE_RUNNING
                    ServiceStatus = "Running"
                Case SERVICE_CONTINUE_PENDING
                    ServiceStatus = "Coninue Pending"
                Case SERVICE_PAUSE_PENDING
                    ServiceStatus = "Pause Pending"
                Case SERVICE_PAUSED
                    ServiceStatus = "Paused"
                End Select
            End If
            'Close the service
            CloseServiceHandle lHwndService
        End If
        'Close the service mananger
        CloseServiceHandle lHwndSManager
    End If
End Function

'Purpose     :  Changes the state of an NT Service
'Inputs      :  sServiceName                The name of the service to test
'               [sComputerName]             The name of the machine to test the service status on.
'                                           If unspecified uses the local machine
'Outputs     :  N/A


Public Function ServiceStateChange(sServiceName As String, eState As eServiceState, Optional sComputerName As String) As Boolean
    Dim tServiceStatus As SERVICE_STATUS
    Dim lHwndSManager As Long
    Dim lHwndService As Long
    Dim lRes As Long

    'Check the input data
    If InStr(1, sServiceName, " ") Then
        Debug.Print "Service names cannot contain spaces. Use the 'Service Name' of the service, not the 'Display Name'"
        ServiceStateChange = False
        Exit Function
    End If

    'Open the service manager
    lHwndSManager = OpenSCManager(sComputerName, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS)
    If lHwndSManager <> 0 Then
        'Open the service
        lHwndService = OpenService(lHwndSManager, sServiceName, SERVICE_ALL_ACCESS)
        If lHwndService <> 0 Then
            Select Case eState
            Case essPauseService
                'Pause the service
                lRes = ControlService(lHwndService, SERVICE_CONTROL_PAUSE, tServiceStatus)
            Case essStartService
                'Start the service
                lRes = StartService(lHwndService, 0, 0)
            Case essStopService
                lRes = ControlService(lHwndService, SERVICE_CONTROL_STOP, tServiceStatus)
            Case Else
                Debug.Print "Invalid Service State"
                Debug.Assert False
            End Select
            
            If lRes Then
                'Success
                ServiceStateChange = True
            Else
                'Failed
                ServiceStateChange = False
                Debug.Print "Error in ServiceStateChange: " & Err.LastDllError
                Debug.Assert False
            End If
            CloseServiceHandle lHwndService
        End If
        CloseServiceHandle lHwndSManager
    Else
        Debug.Print "Failed to open service mananger!"
        Debug.Assert False
        ServiceStateChange = False
    End If
End Function

'Demonstration routine using the "Windows Time" service
Sub Test()
    Dim sStatus As String
    
    sStatus = ServiceStatus("W32Time")
    Debug.Print "Event Log is now " & sStatus
    
    Call ServiceStateChange("W32Time", essStopService)
    sStatus = ServiceStatus("W32Time")
    Debug.Print "Event Log is now " & sStatus
    
    Call ServiceStateChange("W32Time", essStartService)
    sStatus = ServiceStatus("Eventlog")
    Debug.Print "Event Log is now " & sStatus
End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-16 22:30:42 By : ฺB
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook



การทำ Windows Service ตั้งเวลา Schedule เปิดและรันโปรแกรมอื่นๆ (VB.Net,C#)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-20 17:13:08 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากทราบวิธีเขียน Window Service ให้รันไฟล์ .exe ด้วย visual basic VB2010 ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่