|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
surfer87
Anmeldungsdatum: 16.09.2004 Beiträge: 103
|
Verfasst am: 19.08.2005, 23:33 Titel: Dienste beenden mit FB? |
|
|
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 |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 20.08.2005, 09:53 Titel: |
|
|
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 |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 08.09.2005, 23:03 Titel: Dienste beenden mit FB? |
|
|
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 |
|
|
|
|
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.
|
|