Announcement

Collapse
No announcement yet.

Service starten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Service starten

    hi,

    ich möchte gern aus meinem programm einen Windows NT Service starten. Wie mache ich das?

    Bitte Befehl+syntax gff. mit bsp.

  • #2
    Hallo Stephan,

    ich hoffe Dir reicht dieses kurze Bsp.

    Gruß
    Gerhard
    <PRE>

    SC_HANDLE hScManager = 0, hService = 0;
    #define MY_Service "ServiceName"

    try
    {

    //Get´s a handle to the ServiceManager
    if (!hScManager)
    hScManager=OpenSCManager(NULL, NULL, GENERIC_READ);
    //Get´s a handle to the Service(MY_SERVICE)
    if (!hService)
    hService=OpenService(hScManager, MY_SERVICE,GENERIC_READ | GENERIC_EXECUTE);
    if (hService!=0 && hScManager!=0)
    {
    bool success = StartService(hService, 0, NULL);
    //Closes the handles, as they are no longer used
    CloseServiceHandle(hScManager);
    CloseServiceHandle(hService);

    if (success==true)
    // Service started <-- eventuell in eine Log-Datei schreiben
    else
    {
    //See if it failed because it was already running
    error = GetLastError();
    if (error == ERROR_SERVICE_ALREADY_RUNNING)//Doesn't work on NT
    // "Service already running" ; <-- eventuell in eine Log-Datei schreiben
    else
    //"Failed to Start Service running already?"; <-- eventuell in eine Log-Datei schreiben
    }
    }
    else
    // "Couldn't get a handle to the service (maybe not installed)" ); <-- eventuell in eine Log-Datei schreiben
    }
    catch (Exception &exception)
    {
    ShowException(&exception, ExceptAddr());
    }
    </PRE&gt

    Comment


    • #3
      hallo Gerhard,

      danke für das gute Bsp. hat mir geholfen, war auch leicht verständlich und funk. einwand frei.

      mfg Stepha

      Comment

      Working...
      X