Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB 6] - gestire i servizi tramite le api di windows

    Ragazzi, ho urgente bisogno di gestire un servizio, intendo start,stop,pausa ect...

    io ho realizzato una funzione:

    codice:
    Public Function ServiceStatus(ServiceName As String) As String
    Dim ServiceStat As SERVICE_STATUS
    Dim hSManager As Long
    Dim hService As Long
    Dim hServiceStatus As Long
    Dim a As Long
    On Error Resume Next
    ServiceStatus = ""
    hSManager = OpenSCManager(vbNullString, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ALL_ACCESS)
    If hSManager <> 0 Then
        hService = OpenService(hSManager, ServiceName, SERVICE_ACTIVE) 'ServiceName, SERVICE_ALL_ACCESS)
        If hService <> 0 Then
            'dovrebbe bloccare il servizio
            a = ControlService(hService, SERVICE_STOP, ServiceStat)
            'dovrebbe cercare il servizio
            hServiceStatus = QueryServiceStatus(CLng(hService), ServiceStat)
    /////IL PROB STA NEL FATTO CHE QUESTE DUE API NON FANNO QUELLO CHE DOVREBBERO.DOVE SBAGLIO?////// 
            If hServiceStatus <> 0 Then
                Select Case ServiceStat.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
            CloseServiceHandle hService
        End If
            CloseServiceHandle hSManager
    End If
    End Function

    Naturalmente ho dichiarato tutti i tipi necessari etc etc ...

  2. #2
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322
    io generalmente uso un componente free della Ms per creare e gestire i servizi. E' molto più facile e funziona bene.
    Cerca sul sito di Ms qualcosa tipo ntsrv...

  3. #3
    lo conosco ma a me serve stoppare il servizio da api!cmq ho fatto, grazie lo stesso!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.