C# Programm zum Starten von VNC-viewer

Stephan78

Ensign
Registriert
Sep. 2010
Beiträge
157
Hallo,

ich habe einen Windows 8.1 -Rechner, auf dem Real VNC Server als Dienst läuft.
Auf einem anderen Rechner läuft der Real VNC Viewer auf einem Windows 7-Rechner.
Die Verbindung erfolgt über einen WLAN-Router.
Der Viewer stürzt leider hin und wieder ab und ich habe aufrund der Situation,
in der ich den Viewer verwende, keine Möglichkeit, nach Absturz jeweils wieder manuell zu starten.
Auch via Doppelklick auf die gespeicherte VNC-Verbindung auf dem Desktop ist das zu umständlich.
Deshalb möchte ich ein C# Programm, das im Hintergrund läuft und einmal pro Sekunde prüft, ob der Viewer noch läuft und falls nicht, die Verbindung zum Server wieder neu startet. Und das, ohne daß ich manuell irgendwas machen muss.

Hier

https://www.computerbase.de/forum/threads/skript-zum-starten-von-real-vnc-server.1405975/

hab ich bereits ein Skript bekommen - aber das sieht so aus, als ob es für den Server geschrieben ist.
Ich brauche aber eines für den Viewer.
Wie müsste das aussehen bzw. geht das überhaupt?
 
Reicht eine Batch?
Code:
@echo off
:anfang
start /wait notepad.exe
goto anfang
 
Mhhh .. Probier doch einfach mal einen anderen Client, ich verwende TightVnc und das läuft fehlerlos.
Ich verwende es auch als Server, aber teste erstmal nur den Client - das verwendete Protokoll ist ja gleich - manche können halt noch extras wie Dateitransfer usw .. andere nicht.
 
Ich würd auch eher sagen, dass das nicht wirklich eine Aufgabe für c# ist, ein script sollte doch leicht reichen... Entweder wie r15ch13 schon erwähnt als bat, oder wenn dich Konsolenfenster stören (oder du dir sorgen wegen gotos machst) dann halt in vbs?
Code:
Set wso = WScript.CreateObject ("WScript.Shell")
Do
	wso.Run "notepad.exe", , True
Loop

Warum das überhaupt zugeht ist natürlich auch die frage...
 
r15ch13 schrieb:
Reicht eine Batch?
Code:
@echo off
:anfang
start /wait notepad.exe
goto anfang

Was genau macht diese Batch?
In meinem Fall geht es nicht nur darum, eine exe zu starten, sondern
auch die in der vnc-Datei hinterlegten Verbindungsdaten abzurufen.
Ich müsste also irgendwie diese .vnc starten.
Also das replitziren, was passiert, wenn ich auf diese Datei doppelklicke.
Dann stellt sich automatisch die Verbindung wieder her.

@lynxx:
Bis zu einem Windowsupdate hat auch der RealVNC problemlos funktioniert.
Danach nicht mehr. Egal welche VNC-Variante ich verwende, ich brauche irgend eine
Absicherung in der Form, dass der Viewer sofort wieder gestartet wird, falls er doch mal
abschmiert.
 
Die Batch startet ein Programm (im Beispiel notepad.exe) und wartet bis das Programm geschlossen wird, dann fängt sie von vorne an, startet es also wieder und wartet wieder. Sie läuft in einer Endlosschleife und wird nur beendet, wenn du das Konsolenfenster schließt und die Ausführung somit abbrichst.

Wenn dein .vnc File alle Informationen enthält, dass du die Verbindung mit einem Doppelclick darauf herstellen kannst, kannst du statt der exe in der Batch genauso die .vnc Datei angeben. Wenn andere Schritte notwendig sein sollten (z.B. die Eingabe eines Passwortes) kannst du das so nicht lösen.
 
Das wäre dann genau das, was ich brauche.
Der Doppelklick auf die .vnc reicht, keine weiteren Eingaben sind erforderlich.

Zur Batch brauch ich noch bischen Nachhilfe:

Muss ich den Pfad der .vnc-Datei angeben oder reicht der Dateiname?
Wo muss ich die bat-Datei abspeichern?
Startet die beim Hochfahren automatisch?
Kann ich die Ausführung manuell starten und stoppen?
 
Wenn du nur den Dateinamen angibst (also sozusagen einen relativen Pfad), muss die Batch in demselben Verzeichnis liegen wie die .vnc-Datei. Schreibst du den absoluten Pfad rein, ist das egal. Wenn du eine Batch beim Hochfahren starten willst, muss du das über Systemsteuerung->Verwaltung einrichten.
In der obigen Batch ist kein Abbruchkriterium drin, die läuft immer, bis du sie von außen abschießst, z.B. durch Klick auf das x am Konsolenfenster.

Mit ein bisschen rumprobieren und ein bisschen Google solltest du da schnell weiterkommen.
 
Zurück
Oben