Sendkeys an Programm auf anderem Rechnen im Netzwerk

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    Sendkeys an Programm auf anderem Rechnen im Netzwerk

    ich würde gerne ein anderes Programm auf einem anderen Rechner im gleichen Netzwerk "fernsteuern".
    So in etwa wie Sendkeys aber das Programm liegt halt auf einem anderen Rechnen.
    Geht Sendkey direkt oder müsste ich von meinem Programm an ein Programm auf dem anderen Rechner und das sendet dann die Tastatureingaben an das zu steuernde Programm.?
    oder gibt es noch andere möglichkeiten?
    Das zu steuernde Programm ist nicht von mir.

    liebe grüße

    frifri schrieb:

    oder müsste ich von meinem Programm an ein Programm auf dem anderen Rechner und das sendet dann die Tastatureingaben an das zu steuernde Programm.?

    Exakt so. SendKeys funktioniert nur im lokalen System.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    @frifri Du könntest eine Client-Server-Verbindung etablieren,
    Named Pipes ist eine ähnliche Sache, da gibt es viele Beispiele für.
    In jedem Falle musst Du beide Programme anfassen.
    Wenn Du das "ferne" Programm nicht anfassen { kannst, darfst, willst }, ist hier für Dich Schluss,
    es sei denn, das ferne Programm implementiert bereits einen TCP-Server.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Noch als Ergänzung zur vorherigen Aussage:

    Dein Client sendet einen von dir festgelegten Befehl an den Server und dieser führt den SendKeys-Befehl aus. Du brauchst also zwei Programme. Konkrete Suchbegriffe kann man da nicht nennen. Du findest sicher in unserer Tutorial-Sektion unter vb-paradise.de/index.php/Board/935-Internet-LAN/ Anleitungen für Verbindungen via TCP (oder auch UDP). Beim Rest gibt es kein "wie", das kannst du machen wie du willst.

    Am Ende hast du ungefähr sowas (Pseudocode):

    Client:

    Quellcode

    1. Sub BeiMausklick()
    2. Sende "befehl" an Server
    3. End Sub

    Server:

    Quellcode

    1. Sub BeiEmpfang(Daten)
    2. Wenn Daten = "befehl" dann SendKeys "X"
    3. End Sub
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    RodFromGermany schrieb:


    Wenn Du das "ferne" Programm nicht anfassen { kannst, darfst, willst }, ist hier für Dich Schluss,
    es sei denn, das ferne Programm implementiert bereits einen TCP-Server.


    Ich denke das muss trotzdem irgendwie gehen, ansonsten würde es solche Programme wie VNC nicht geben, die ja im Prinzip, ausser das man noch sehen kann was man da tut, das auch machen.
    Aber so weit wollte ich dann doch nicht in die tiefen des Betriebssystems eingreifen :)

    frifri schrieb:

    Ich denke das muss trotzdem irgendwie gehen
    Offensichtlich gibt es da so was wie einen Standard.
    Das kannst Du ja mal aufklären.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich befürchte, dass Programme wie TeamViewer und VNC das etwas anders handhaben.

    Anstatt Befehle gezielt an ein Programm zu schicken, wird einfach am Zielrechner ein "globaler" Tastendruck simuliert, als ob man eine Taste an der Tastatur gedrückt hätte. Das OS entscheidet dann, wo das ankommt. Selbiges mit der Maus.