Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Dienste beenden mit FB?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 19.08.2005, 23:33    Titel: Dienste beenden mit FB? Antworten mit Zitat

Hi, gibt es eine Möglichkeit Dienste (services.msc) mit FB zu beenden und den Status zu ändern? (Deaktiviert,Manuell,Automatisch)

Thx.

/Edit: Prozesse zu beenden wäre auch hilfreich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 20.08.2005, 09:53    Titel: Antworten mit Zitat

Simple Methode, die sogar in QB geht:
Code:
dienst$ = "W32Time"   ' nur Beispiel!
' Dienst starten
SHELL "net start " + dienst$
' Dienst beenden
SHELL "net stop " + dienst$
' Prozess beenden (nur XP Professional und Server 2003)
pid$ = "1234"   ' muss man mit TASKLIST ermitteln!
SHELL "taskkill /pid " + pid$

Für die Startart umkonfigurieren ist mir jedoch kein CMD-Befehl bekannt, aber vermutlich dürfte das Setzen des entsprechenden Registry-Keys bereits genügen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 08.09.2005, 23:03    Titel: Dienste beenden mit FB? Antworten mit Zitat

Hi AlleMann,
um herauszufinden, ob mein Firewall-Service gestartet ist, benutze ich SC.Exe. Da es ziemlich beknackt ist, die ganzen Optionen immer wieder einzutippeln und die Ausgaben zu filtern, habe ich folgenden Code geschrieben:
Code:

'Jetz wirds schon besser..
'Services abfragen
'
Option Explicit
Option Escape
Declare Function InQM$(s$)
Declare Function IsSvcName(KeyName$) As Byte
Declare Function DateiLaden(DateiName$) As String
Declare Sub Quit(s$)
Declare Function SC(s$) As String
Declare Sub ShowInfo(i, GetKeyName As String)
Const QM="""", CrLf="\r\n"
If Command$="" Then Quit("Keine Hilfe vorgesehen..;-)))")
Dim i, j, s As String, ServiceName As String
?"Suche Services mit "+InQM(Command$)
s=SC("Query | Find /i "+InQM(Command$))
j=0
Do While Instr(s, CrLf)
  i=Instr(s, CrLf)
  ServiceName=Mid(s, 1, i-1)
  If IsSvcName(ServiceName) Then
    j=j+1
    ?"Gefundener Service-Nr.";j;":"
  End If
  If i Then ShowInfo(j, ServiceName)
  s=Mid(s, i+2)
Loop
Quit("Eniki..")

Function InQM$(m$)
  InQM=QM+m$+QM
End Function

Function SC$(m$)
  Dim TmpDatei As String, Fehler
  TmpDatei=Environ$("Tmp")+"\\SC.Prt"
  Fehler=Instr(m$, CrLf)
  If Fehler Then m$=Mid(m$, 1, Fehler-1)
  Fehler=Exec(Environ$("ComSpec"), "/c Sc.Exe "+m$+" >"+TmpDatei)
  If Fehler Then Quit("Ooops"+CrLf+"Nicht erledigt: SC "+m$)
  SC=DateiLaden(TmpDatei)
  Kill TmpDatei
End Function

Sub Quit(m$)
  If m$<>"" Then ?m$;
  While Inkey$<>"":Wend
  Sleep
  Stop
End Sub

Function DateiLaden(DateiName As String)As String
  Dim m$, Zeile$
   Open DateiName For Input As #1
   Do
      Line Input #1, Zeile$
      If Zeile$<>"" Then m$=m$+Zeile$+CrLf
   Loop Until Eof(1)
   Close #1
  DateiLaden=m$
End Function

Function IsSvcName(KeyName$) As Byte
  IsSvcName=Instr(KeyName$, "SERVICE_NAME")=0
End Function

Sub ShowInfo(i, GetKeyName As String)
  Dim m$
  If IsSvcName(GetKeyName) Then
    GetKeyName=Mid(GetKeyName, Instr(GetKeyName, ":")+2)
    m$=SC("GetKeyName "+InQM(GetKeyName))
    GetKeyName=Mid(m$, Instr(m$, "=")+2)
  Else
    Exit Sub
  End If
  ?SC("QueryEx "+GetKeyName)
  m$=SC("QC "+GetKeyName)
  ?Mid$(m$, Instr(Instr(Instr(m$, CrLf)+2, m$, CrLf)+2, m$, CrLf)+1)
End Sub

Aufruf(nach Kompilation natürlich *gr*):
GetService fire
Das liefert wunderbar alle Informationen..
Interessant ist auch der Aufruf:
GetService sys
Mit der eingebauten Funktion SC$() lassen sich natürlich auch andere SC-Optionen aufrufen, aber dazu muß der Code den Erfordernissen angepaßt werden..
Viel Spaß dabei
Gruß ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz