PCClip to PC2Clip - Clip richtig einlesen lassen

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von BeefyX.

    PCClip to PC2Clip - Clip richtig einlesen lassen

    Moin Leute,

    Ich Arbeite derzeit an 2x PC‘s bzw. Laptop‘s die zusammen an einem Monitor per KVM-Switch sind.
    Da ich gerne mal von PC1 zu PC2 und umgekehrt kleine Text oder URL‘s versenden möchte, habe ich mich an eine kleine Anwendung gesetzt.

    Diese kann bereits Texte Versenden und Empfangen. Wie auch alle 5Sekunden die Zwischenablage abrufen und versenden.
    Jedoch kann ich das ja nicht so auf beiden Rechnern gleichzeitig laufen lassen.
    Nun ist meine Frage wie kann ich es machen, dass an PC1 oder PC2 die Zwischenablage nur ausgelesen wird und an den andern PC gesendet wird, wenn was neues in die Clip kommt.

    Und wie kann ich die Clip per F12 o.a. taste versenden ohne das Programm aktiv zu haben. Also so, dass es auch im Tray sein kann.

    Sender:

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. Timer1.Interval = 5000
    3. Timer1.Start()
    4. If (System.Windows.Forms.Clipboard.ContainsText()) Then
    5. TextBox1.Text = System.Windows.Forms.Clipboard.GetText()
    6. End If
    7. streamw.WriteLine(TextBox1.Text)
    8. streamw.Flush()
    9. TextBox1.Clear()
    10. End Sub


    Empfänger:

    VB.NET-Quellcode

    1. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    2. Timer1.Interval = 5001
    3. Timer1.Start()
    4. System.Windows.Forms.Clipboard.SetText(RichTextBox1.Text)
    5. End Sub


    mfg DarkCode
    Stichwort: GetAsyncKeyState für die F tasten und TCP Server fürs Senden / empfangen vom Clipboard.
    Und im Timer (am besten Interval auf 100 oder so) aktuellen Clip mit einer Variable vergleichen.
    Wenns sich geändert hat: senden (und Variable aktualisieren, natürlich).