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:

Prozess beenden ?

 
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
Christoph



Anmeldungsdatum: 07.04.2006
Beiträge: 108
Wohnort: NRW, Rietberg

BeitragVerfasst am: 26.01.2008, 17:41    Titel: Prozess beenden ? Antworten mit Zitat

Hallo,

ich habe schon in der Referenz und im Forum gesucht, aber ich habe nix passendes gefunden:

gibt es einen Befehl, um einen Prozess/Programm zu beenden?

Gruß
Christoph
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 26.01.2008, 17:55    Titel: Antworten mit Zitat

unter windows gibt's dazu auf der kommandozeile (SHELL) den befehl TASKKILL, aber soviel ich weiß nur unter win XP prof (vista ungetestet)

vielleicht hilft dir aber diese api-funktion weiter...
http://www.vbarchiv.net/faq/allg_exitprocess.php
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 26.01.2008, 17:59    Titel: Antworten mit Zitat

Einen Befehl gibt es schon mal gar nicht, du mußt erst herausfinden, wie der Prozeß heißt, dann, ob der Prozess aktiv ist, dann den aktiven Prozeß beenden..
Könntest du vllt. mal andeutungsweise erklären, was du vorhast?
btw:
Eine ForenSuche nach 'Prozess AND beenden' liefert 21 Ergebnisse
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
Christoph



Anmeldungsdatum: 07.04.2006
Beiträge: 108
Wohnort: NRW, Rietberg

BeitragVerfasst am: 26.01.2008, 18:01    Titel: Antworten mit Zitat

unter win xp prof funktioniert er so:

TASKKILL /F /IM winamp.exe

Der Befehl hat viele optionen aber die beiden reichen aus.


Was ich vorhabe, ein Programm , den Prozess beenden und ein Programm zu starten.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 26.01.2008, 18:10    Titel: Antworten mit Zitat

Wie wär's hiermit?
_________________
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
Christoph



Anmeldungsdatum: 07.04.2006
Beiträge: 108
Wohnort: NRW, Rietberg

BeitragVerfasst am: 26.01.2008, 18:19    Titel: Antworten mit Zitat

Hm, das habe ich über die suche gar nicht gefunden...

Das geht auch, aber für meine Zwecke reicht :

Code:
shell "TASKKILL /F /IM prozessname.exe" 'Prozess beenden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Christoph



Anmeldungsdatum: 07.04.2006
Beiträge: 108
Wohnort: NRW, Rietberg

BeitragVerfasst am: 29.01.2008, 22:06    Titel: Antworten mit Zitat

Ich wollte jetzt nicht unbedingt nen neues Thema dafür aufmachen, aber gibt es eine Möglichkeit zu checken, ob der Prozess läuft oder nicht?

Denn dann würd ich da noch mit in den Ping Checker mit einbauen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 29.01.2008, 22:22    Titel: Antworten mit Zitat

http://www.vbarchiv.net/archiv/tipp_details.php?pid=572

funktioniet ohne pfadangaben...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Christoph



Anmeldungsdatum: 07.04.2006
Beiträge: 108
Wohnort: NRW, Rietberg

BeitragVerfasst am: 30.01.2008, 20:34    Titel: Antworten mit Zitat

ok, danke, dann schau ich mal ob ich das für freebasic umschreiben kann...

€dit.// Ich habe das etwas bearbeitet und bekomme nurnoch 2 Fehler:

Zitat:
D:/Christoph/FREEBASIC/IsExeRunning_vb.bas(12) error 136: Default types or suffixes are only valid in -lang deprecated or qb, found 'Lib' in 'Function ProcessFirst Lib "Kernel32" _'
D:/Christoph/FREEBASIC/IsExeRunning_vb.bas(17) error 58: Illegal inside functions, found 'Function' in 'Function ProcessNext Lib "Kernel32" _'


und :

Zitat:

Compiler output:
D:/Christoph/FREEBASIC/IsExeRunning_vb.bas(12) error 136: Default types or suffixes are only valid in -lang deprecated or qb, found 'Lib' in 'Function ProcessFirst Lib "Kernel32" _'
D:/Christoph/FREEBASIC/IsExeRunning_vb.bas(17) error 58: Illegal inside functions, found 'Function' in 'Function ProcessNext Lib "Kernel32" _'


€dit2:// Code:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=454

Was muss ich denn da jetzt noch ändern, dass es geht...?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 30.01.2008, 22:02    Titel: Antworten mit Zitat

Weißt du eigentlich, was ein Suffix ist?
Ein Suffix kennzeichnet Variablen so, daß sie einen bestimmten Typ haben..
.. ein Beispiel dafür ist '$' damit wäre in KuhBasic a$ ein String
Scheint so, als wenn du sowas ähnliches in deinem Code hättest..
btw: Funktionsnamen sind übrigens KEINE Variablennamen zwinkern
[edit]
Du solltest dir angewöhnen, die Sachen, die du benutzen möchtest, VOR der ersten Benutzung zu deklarieren..
..und auch Funktionen als Funktionen deklarieren, wenn es Funktionen sind happy
FBEdit 1.0.5.8 hat Folgendes geschrieben:

D:\Sprachen\FreeBASIC\fbc -s console "SiedlerChr.Bas"

Make done
allerdings habe ich diesen Code benutzt..
..ob's funktioniert habe ich aber nicht getestet..
_________________
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
Christoph



Anmeldungsdatum: 07.04.2006
Beiträge: 108
Wohnort: NRW, Rietberg

BeitragVerfasst am: 30.01.2008, 23:42    Titel: Antworten mit Zitat

Ok, also ich das mal deinen und meinen Code verglichen und die Knackpunkte gefunden, an denen es bei mir lag....




Dein Code wird compiliert ohne error, aber ich bin im Moment noch etwas ratlos wie bzw wo ich den Prozessnamen für sfilename angeben soll....

Oder wo ich das hier unterbringen soll,

Zitat:
Beispiel:
Um zu prüfen, ob eine Instanz des Windows-Explorers ausgeführt wird, folgenden Abfrage verwenden:

If IsEXERunning("explorer.exe") Then
MsgBox "Jepp - Explorer ist gestartet."
End If


Hm...also da bin ich ehrlich gesagt ratlos....

Nen Tipp würde mich vielleicht weiterbringen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 30.01.2008, 23:44    Titel: Antworten mit Zitat

http://www.freebasic-portal.de/fbporticula/456 zwinkern
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
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: 31.01.2008, 00:03    Titel: Antworten mit Zitat

Ist mir gerade aufgefallen: 'Schöner' wäre es natürlich,
wenn IsExeRunning in jedem Fall explizit einen Rückgabewert liefert.
Code:
Function IsEXERunning(byVal sFilename As String) As Long
  Dim As Long lSnapshot, nResult, RetVal=False
..
      If InStr(LCase(uProcess.szexeFile), LCase(sFilename)) Then ' Jepp - EXE gefunden
        RetVal=True
        Exit Do
      End If
..
  Return RetVal
End Function
So kann jeder sehen, daß IsExeRunning als Rückgabewert False liefert, wenn der Prozess nicht gefunden wird..
_________________
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
Christoph



Anmeldungsdatum: 07.04.2006
Beiträge: 108
Wohnort: NRW, Rietberg

BeitragVerfasst am: 31.01.2008, 19:21    Titel: Antworten mit Zitat

Ok, danke nochmals, das funktioniert...

Nur eine kleine Frage zum Verständnis, warum liefert es mir als Rückgaberwert -1 bei True?
Müsste das nicht eig 1 sein?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 31.01.2008, 19:26    Titel: Antworten mit Zitat

über genau diesen Punkt habe ich mich hier bereits ausgelassen..
_________________
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