Tach
Hab mal ein kleines Progrämmchen zusammengebastelt das den Fernzugriff bei TightVNC etwas vereinfacht sodass nur noch der Client und die Verbindungsart ausgewählt werden muss.
Installation:
Einfach den ZIP-Ordner im Anhang runterladen, extrahieren und die VNCExplorer.au3 öffnen
Dann an den im Script kommentierten Stellen die entsprechenden Passwörter einfügen, kompilieren und fertig!
Nutzung:
Um neue Clients zu erfassen auf den "Hinzufügen"-Butten klicken und dort die IP und den Clientnamen einschreiben und auf "Speichern" drücken. Besteht der Client bereits, wird gefragt ob die neue Konfigurration anstelle der alten benutzt werden soll. Um Clients zu löschen diese markieren und auf "Löschen" klicken.
Zur Remote-Verbindung (mit Steuerung) zum Client ganz einfach markieren und auf "Remote" klicken.
Zur Überwachung (ohne Inputsteuerung) wieder den Client markieren und auf "Überwachung" klicken.
Info:
Die Verbindung mit unterschiedlichen Clients funktioniert nur, wenn bei allen das gleiche Passwort benutzt wurde.
Die Passwörter die im Config stehen sind verschlüsselt, deshalb solltet ihr zuerst die Config einer manuellen Verbindung abspeichern und dann das Passwort aus dieser Config in die .au3 kopieren.
Bei weiteren Fragen oder Problemen stehe ich (gerne) zur Verfügung.
Source:
[autoit]#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <Process.au3>
#include <GuiListView.au3>
#include <File.au3>
If FileExists("c:\programme\TightVNC") Then
$Form1_1 = GUICreate("VNCExplorer", 410, 284, 235, 336)
$Form1Button1 = GUICtrlCreateButton("Remote", 272, 16, 129, 25)
$Form1Button2 = GUICtrlCreateButton("Überwachen", 272, 48, 129, 25)
$Form1Button3 = GUICtrlCreateButton("Hinzufügen", 272, 80, 129, 25)
$Form1Button4 = GUICtrlCreateButton("Schliessen", 272, 144, 129, 25)
$Form1Button5 = GUICtrlCreateButton("Löschen", 272, 112, 129, 25)
$Form1ListView = GUICtrlCreateListView("Name|IP-Adresse", 24, 16, 241, 249)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 137)
GUISetState(@SW_SHOW)
$configs = _FileListToArray("data\configfiles")
_ArrayDelete($configs, 0)
$counter = UBound($configs)
$line = 0
While $counter > 0
$current = $configs[$line]
$file = FileOpen($current, 0)
$host = FileReadLine("data\configfiles\" &$current, 2)
$host = StringTrimLeft($host, 5)
$cfg = StringTrimRight($configs[$line], 4)
GUICtrlCreateListViewItem($cfg &"|" &$host, $Form1ListView)
$line = $line + 1
$counter = $counter - 1
WEnd
While True
$nMsg = GUIGetMsg()
If $nMsg = $Form1Button1 Then
$selected = GUICtrlRead(GUICtrlRead($Form1ListView))
$selected = StringTrimRight($selected, 1)
$filename = StringSplit($selected, "|")
$name = $filename[1] &".vnc"
$remote = FileOpen("data\configfiles\" &$name, 0)
$text = FileRead($remote)
FileClose($remote)
$text = StringReplace($text, "viewonly=", "viewonly=0")
$text = StringReplace($text, "password=", "password=PASSWORT") ;bei PASSWORT das Passwort für Remote-Zugriffe einfügen
$remote = FileOpen("data\configfiles\" &$name, 2)
FileWrite($remote, $text)
FileClose($remote)
_RunDOS("start c:\programme\TightVNC\vncviewer.exe -config data\configfiles\" &$name)
$remote = FileOpen("data\configfiles\" &$name, 1)
$text = FileRead($remote)
$text = StringReplace($text, "viewonly=0", "viewonly=")
$text = StringReplace($text, "password=PASSWORT", "password=") ;bei PASSWORT das Passwort für Remote-Zugriffe einfügen
FileWrite($remote, $text)
FileClose($remote)
EndIf
If $nMsg = $Form1Button2 Then
$selected = GUICtrlRead(GUICtrlRead($Form1ListView))
$selected = StringTrimRight($selected, 1)
$filename = StringSplit($selected, "|")
$name = $filename[1] &".vnc"
$view = FileOpen("data\configfiles\" &$name, 0)
$text = FileRead($view)
FileClose($view)
$text = StringReplace($text, "viewonly=", "viewonly=1")
$text = StringReplace($text, "password=", "password=PASSWORT") ;bei PASSWORT das Passwort für Überwachungs-Zugriffe einfügen
$view = FileOpen("data\configfiles\" &$name, 2)
FileWrite($view, $text)
FileClose($view)
_RunDOS("start c:\programme\TightVNC\vncviewer.exe -config data\configfiles\" &$name)
$view = FileOpen("data\configfiles\" &$name, 1)
$text = FileRead($view)
$text = StringReplace($text, "viewonly=1", "viewonly=")
$text = StringReplace($text, "password=PASSWORT", "password=") ;bei PASSWORT das Passwort für Überwachungs-Zugriffe einfügen
FileWrite($view, $text)
FileClose($view)
EndIf
If $nMsg = $Form1Button3 Then
$Form2 = GUICreate("Neu", 195, 118, 385, 490)
$Form2Button1 = GUICtrlCreateButton("Speichern", 8, 88, 81, 25)
$Form2Button2 = GUICtrlCreateButton("Schliessen", 104, 88, 81, 25)
$Form2IPAddress = _GUICtrlIpAddress_Create($Form2, 72, 48, 113, 25)
_GUICtrlIpAddress_Set($Form2IPAddress, "0.0.0.0")
$Form2Input = GUICtrlCreateInput("Name", 72, 16, 113, 21)
$Form2Label1 = GUICtrlCreateLabel("IP-Adresse:", 8, 56, 58, 17)
$Form2Label2 = GUICtrlCreateLabel("Name:", 8, 16, 35, 17)
GUISetState(@SW_SHOW)
While True
$nMsg = GUIGetMsg()
If $nMsg = $Form2Button1 Then
$config = FileOpen("data\original.vnc", 0)
If $config = -1 Then
MsgBox(0, "Error", "Could not find original.vnc. File does not exist.")
Exit
EndIf
$name = GUICtrlRead($Form2Input)
If FileExists("data\configfiles\" &$name &".vnc") Then
$ask = MsgBox(17, "Client existiert bereits!", "Dieser Client wurde bereits erfasst. Wenn Sie fortfahren, wird die Konfigurierung überschrieben. Möchten Sie dennoch fortfahren?")
If $ask = 1 Then
FileDelete("data\configfiles\" &$name &".vnc")
Else
GUIDelete($Form2)
ExitLoop
EndIf
EndIf
$read = FileRead($config)
$IP = _GUICtrlIpAddress_Get($Form2IPAddress)
$new = FileOpen("data\configfiles\" &$name &".vnc", 1)
$read = StringReplace($read, "host=", "host=" &$IP)
FileWriteLine($new, $read)
FileClose($new)
_GUICtrlListView_DeleteAllItems ($Form1ListView)
$configs = _FileListToArray("data\configfiles")
_ArrayDelete($configs, 0)
$counter = UBound($configs)
$line = 0
While $counter > 0
$current = $configs[$line]
$file = FileOpen($current, 0)
$host = FileReadLine("data\configfiles\" &$current, 2)
$host = StringTrimLeft($host, 5)
$cfg = StringTrimRight($configs[$line], 4)
GUICtrlCreateListViewItem($cfg &"|" &$host, $Form1ListView)
$line = $line + 1
$counter = $counter - 1
WEnd
GUIDelete($Form2)
ExitLoop
EndIf
If $nMsg = $Form2Button2 Then
GUIDelete($Form2)
ExitLoop
EndIf
WEnd
EndIf
If $nMsg = $Form1Button5 Then
$selected = GUICtrlRead(GUICtrlRead($Form1ListView))
$array = StringSplit($selected, "|")
$del = $array[1]
FileDelete("data\configfiles\" &$del &".vnc")
GUICtrlDelete(GUICtrlRead($Form1ListView))
EndIf
If $nMsg = $Form1Button4 Then
Exit
EndIf
WEnd
Else
$msg = MsgBox(5, "TightVNC nicht installiert", "TightVNC wurde nicht auf ihrem Computer gefunden, möchten Sie TightVNC installieren? Andernfalls wird das Programm beendet!")
If $msg = 7 Then
Exit
Else
ShellExecute("http://www.tightvnc.com/", "", "", "", @SW_MAXIMIZE)
EndIf
EndIf