Avatar billede mickni33 Nybegynder
28. august 2007 - 17:24 Der er 9 kommentarer og
1 løsning

starte en windows service fra et andet program

hvordan ser koden ud hvis jeg skal starte en windows service fra et aandet program (en GUI)
Avatar billede md_craig Nybegynder
28. august 2007 - 17:50 #1
Du skal refererer System.ServiceProcess...
tilføje den under usings (eller direkte refererer til den nede i koden):

using System.ServiceProcess;


Og så er det basalt set bare at...
--------------------------------

            ServiceController controller = new System.ServiceProcess.ServiceController( "SQL Server (SQLEXPRESS)" );

            controller.Stop();
            controller.WaitForStatus( ServiceControllerStatus.Stopped, new TimeSpan( 0, 0, 30 ) );

            Console.WriteLine( controller.Status );

            controller.Start();
            controller.WaitForStatus( ServiceControllerStatus.Running, new TimeSpan( 0, 0, 30 ) );

            Console.WriteLine( controller.Status );

-------------------------
Der er self lidt ting man skal være opmærksom på... så som services der er langsomme at starte, hvis en service fejler når man prøver at starte den, hvis den er startet eller i gang med det når man prøver at kalde start osv osv... men der er en start der....
Avatar billede md_craig Nybegynder
28. august 2007 - 17:52 #2
Demonstrationen her var lige på min egen SQL Server Express Service som det nok kan ses... det er navnet på servicen... det er naturligvis muligt at hente alle services og undersøge deres status, så hvis du på forhånd ikke ved hvad en service hedder... men det lyder det lidt som om du gør... man kan også hente den på andet end navnet så vidt jeg husker... det er lige lidt tid siden jeg sidst legede med services...
Avatar billede mickni33 Nybegynder
10. september 2007 - 09:19 #3
aarrrgggg desværre findes ServiceController ikke i VB.NET ... troede det var det samme :-(
Avatar billede nielle Nybegynder
10. september 2007 - 18:29 #4
Jamen det er de skal også (næsten), og ServiceController er ikke en af undtagelserne. Du skal dog tilføge en reference til System.ServiceProcess.dll under references ude i højre side af VS via din Solution Explorer:

Imports System.ServiceProcess

Module Module1

    Sub Main()
        Dim controller As ServiceController = New System.ServiceProcess.ServiceController("SQL Server (SQLEXPRESS)")

        controller.Stop()
        controller.WaitForStatus(ServiceControllerStatus.Stopped, New TimeSpan(0, 0, 30))

        Console.WriteLine(controller.Status)

        controller.Start()
        controller.WaitForStatus(ServiceControllerStatus.Running, New TimeSpan(0, 0, 30))

        Console.WriteLine(controller.Status)
    End Sub

End Module
Avatar billede nielle Nybegynder
10. september 2007 - 18:30 #5
skal => skam
Avatar billede md_craig Nybegynder
10. september 2007 - 19:52 #6
Som Nielle siger så er den der også i VB.NET... og jeg skulle måske være lidt mere præsis med hvad jeg mente med du skulle "Du skal refererer System.ServiceProcess", det er naturligvis DLL'en jeg snakker om her... ^^

Og endelig... hvorfor spørge om det i C# kategorien hvis det er VB.NET du skal have hjælp til. ^^... mon ikke der er nogle VB.NET Guruer i den kategori der kunne have hjulpet dig direkte... ohh well... no harm no faul... :P...
Avatar billede mickni33 Nybegynder
11. september 2007 - 08:44 #7
yeees det prøver jeg

Har nogle gange oprettet spørgsmål i VB men der er ikke så mange der svarer i den kategori, så tit (aaahh ikke tit) spørger jeg i andre kategorier.. Hvis man bruger VStudio er der ikke meget der skal laves om i koden
:-)
Avatar billede mickni33 Nybegynder
17. september 2007 - 11:08 #8
læg et svar
Avatar billede nielle Nybegynder
17. september 2007 - 18:32 #9
Det må da vist være md_craig's. :^)
Avatar billede md_craig Nybegynder
17. september 2007 - 19:44 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester