Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Christoph
Anmeldungsdatum: 07.04.2006 Beiträge: 108 Wohnort: NRW, Rietberg
|
Verfasst am: 26.01.2008, 17:41 Titel: Prozess beenden ? |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 26.01.2008, 17:55 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 26.01.2008, 17:59 Titel: |
|
|
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 |
|
 |
Christoph
Anmeldungsdatum: 07.04.2006 Beiträge: 108 Wohnort: NRW, Rietberg
|
Verfasst am: 26.01.2008, 18:01 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 26.01.2008, 18:10 Titel: |
|
|
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 |
|
 |
Christoph
Anmeldungsdatum: 07.04.2006 Beiträge: 108 Wohnort: NRW, Rietberg
|
Verfasst am: 26.01.2008, 18:19 Titel: |
|
|
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 |
|
 |
Christoph
Anmeldungsdatum: 07.04.2006 Beiträge: 108 Wohnort: NRW, Rietberg
|
Verfasst am: 29.01.2008, 22:06 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
|
Nach oben |
|
 |
Christoph
Anmeldungsdatum: 07.04.2006 Beiträge: 108 Wohnort: NRW, Rietberg
|
Verfasst am: 30.01.2008, 20:34 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.01.2008, 22:02 Titel: |
|
|
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
[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
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 |
|
 |
Christoph
Anmeldungsdatum: 07.04.2006 Beiträge: 108 Wohnort: NRW, Rietberg
|
Verfasst am: 30.01.2008, 23:42 Titel: |
|
|
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 |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 31.01.2008, 00:03 Titel: |
|
|
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 |
|
 |
Christoph
Anmeldungsdatum: 07.04.2006 Beiträge: 108 Wohnort: NRW, Rietberg
|
Verfasst am: 31.01.2008, 19:21 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 31.01.2008, 19:26 Titel: |
|
|
ü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 |
|
 |
|