Letztes Jahr habe ich schonmal ein AutoHotkey-Script vorgestellt, um Synergy per Hotkey zu starten und zu beenden. Seit einiger Zeit ist aber die neue Beta (Version 1.4 aufwärts) erhältlich, die einen neuen Konfigurationsbildschirm bereithält: sy_config

Dieser ermöglicht die Einrichtung der Bildschirme wesentlich einfacher und intuitiver. Da aber auch das Fester, das beim Start von Synergy (es heißt jetzt nicht mehr Synergy+, da es mit dem ursprünglichen Synergy zusammengelegt wurde) erscheint, etwas anders aussieht, waren ein paar Änderungen an meinem Script nötig.

So sieht der neue Startbildschirm aus: syn_start

Unter Edit – Settings muss ausgewählt werden “Automatically start server or client when GUI starts”. Dann funktioniert alles mit folgendem Script, welches Synergy bei Druck auf Win+F11 startet oder beendet.

; WINDOWS KEY + F11 TO START/STOP SYNERGY+
#F11::
  Process, Exist, synergyc.exe
  If (ErrorLevel = 0) {
    Process, Exist, synergys.exe
    If (ErrorLevel = 0) {
        Run, D:\PortableApps\Synergy+\bin\qsynergy.exe
        WinWait, ahk_class QWidget
        WinKill
        return
    }
    Else{
      Process, Close, synergys.exe
      Process, Close, qsynergy.exe
      return
    }
  }
  Else{
    Process, Close, synergyc.exe
    Process, Close, qsynergy.exe
    return
  }
return

Hier noch die Erklärung:

  Process, Exist, synergyc.exe
  If (ErrorLevel = 0) {

Zuerst wird überprüft, ob der Client läuft.

    Process, Exist, synergys.exe
    If (ErrorLevel = 0) {

Ist dies nicht der Fall, wird noch überprüft oder der Server läuft.

        Run, D:\PortableApps\Synergy+\bin\qsynergy.exe
        WinWait, ahk_class QWidget
        WinKill
        return

Wenn dies auch nicht der Fall ist, so wird das Programm gestartet. Wenn es dann offen ist, wird es minimiert, sodass es nur noch im Systray zu finden ist.

    Else{
      Process, Close, synergys.exe
      Process, Close, qsynergy.exe
      return
    }

Läuft hingegen der Server, wird dieser zusammen mit dem Konfigurationstool geschlossen.

  Else{
    Process, Close, synergyc.exe
    Process, Close, qsynergy.exe
    return
  }

Und wenn der Client läuft, so wird dieser geschlossen.

Das war es auch schon. Ich hoffe, ich konnte damit etwas weiterhelfen.