Brauche Hilfe für Programmrestarter!

10/14/2010 15:27 Kutzlor#1
Hallo!
Kann mir bitte jemand helfen ein Program zu schreiben, am besten in .bat format sonst mit VB.

Es soll überprüfen ob das program vom Pfad (Ein Beispiel) C:/Programme/Ordner/Datei.exe läuft, und das alle 20sekunden. Wenn es nicht läuft, soll es es starten!

geht sowas?

Bitte um Hilfe,
mfg
10/14/2010 16:12 マルコ#2
Mit batch gehts NICHT. Du musst einfach prüfen, ob der Prozess läuft:
Code:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Long, ByVal lpWindowName As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Const GW_HWNDNEXT = 2
Dim mWnd As Long
Function GetProcID(ByVal strWindowTitle as String) As Long
Dim test_hwnd As Long, test_pid As Long, test_thread_id As Long
Dim strWindowTitle as String
'strWindowTitle enthält den EXAKTEN Fenstertitels des Programms, dass du abschiessen willst
test_hwnd = FindWindow(vbNullString, strWindowTitel)
If GetParent(test_hwnd) = 0 Then
'Für den Fall, dass das geforderte Fenster kein Child-Prozess, liefert diese Funktion die PID zurück, im anderen Fall halte ich es für ungeschickt den Prozess abzuschiessen
test_thread_id = GetWindowThreadProcessId(test_hwnd, test_pid)
GetProcID = test_pid
End If
End Function
Private Sub Form_Load()
Dim strWindTitle as String
mWnd = GetProcID(strWindTitle)
TerminateProcess(mWnd, 0)
End Sub
Wenns nich läuft, dann einfach ausführen:
Code:
Dim TaskID
 
' Programm starten
TaskID = Shell("C:\Pfad\Programm.exe")
Achja, die 20 Sekunden hab ich vergessen XD.
Mach nen Timer. Stell ihn auf 20000 ms und schreib in das Event das Zeug rein!
10/14/2010 17:27 Kutzlor#3
mit was für nen programm muss ich das machen?
10/14/2010 22:21 マルコ#4
lol...ich dachte entweder batch oder VB. Der Code ist offensichtlich VB. Ich hab sogar geschrieben, dass Batch nich geht
Und wenn du meinst, mit welchem Programm du das programmierst, dann hab ich ne schlechte Nachricht für dich!

außerdem: GidF
10/15/2010 05:16 Kutzlor#5
jaja wtf xD Ich meinte eher welche art von Aplication.
Aber, da der Timer ja eh nur bei einer geht, ist die Frage hinfällig.

naja auf jeden fall bin ich zu doof dafür... -.-
krieg das ned hin xD
10/15/2010 09:53 MoepMeep#6
Quote:
Originally Posted by gnom overbord View Post
jaja wtf xD Ich meinte eher welche art von Aplication.
Aber, da der Timer ja eh nur bei einer geht, ist die Frage hinfällig.

naja auf jeden fall bin ich zu doof dafür... -.-
krieg das ned hin xD
Du bist nicht dazu in der Lage, ein fertiges Programm zu kompilieren? Tjo, Hartz 4 sort dafür, dass Leute überleben, die nicht überleben sollten. Aber keine Sorge, die Natürliche Auslese kriegt dich früher oder später (:
10/15/2010 11:47 マルコ#7
Quote:
Originally Posted by MoepMeep View Post
Du bist nicht dazu in der Lage, ein fertiges Programm zu kompilieren?
^this

Meine schlechte Nachricht an dich: Lern erstmal die Basis des Programmierens. Im Inet gibts haufenweise tuts, in Läden Berge von Büchern zu diesem Thema. Natürlich ist ein solches Programm, das nur alle 20 sek prüft, ob ein anderes läuft und ggf. startet ein sehr leichtes Programm, mit dem man anfangen kann, das man weiter ausbauen kann mit Zusatzfunktionen zum Einstellen für den Benutzer(z.B. welches Programm soll überwacht werden, in welchen Intervallen, mehrer Programme zum überwachen, Updatefunktion,...). Also lern die Basis des Programmierens (in den Tuts steht auch 100%ig, welches Programm und wie du was machn musst) und dann versuchs nochmal mit dieser Idee.
10/15/2010 14:05 Kutzlor#8
ich vermute das der code für VB10 ist!Da sind (glaube ich!) ja so manche sachen anders. ich benutze VB08 O.o
10/15/2010 15:36 マルコ#9
VB10? Dein Mangel an wissen ist unglaublich... Lern erstmal! Wenn du Grundwissen hast, kannst dus nochmal versuchen.
1. Visual Basic (Abk. VB) ist eine proprietäre objektorientierte Programmiersprache (wiki)
2. Was du suchst ist ein PROGRAMM, mit dem man programmieren kann und das VB kompilieren kann. Das ist z.B. VS (Visual Studio ist eine von der Firma Microsoft angebotene integrierte Entwicklungsumgebung für verschiedene Hochsprachen (wiki))
Der Unterschied VS08 und VS10 wikt sich nicht auf die Programmiersprache aus!!!