Keystrokes an ein ausgewähltes Programm Senden

  • VB.NET

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

    Keystrokes an ein ausgewähltes Programm Senden

    Moin,
    ich fange gerade erst an VB zu lernen und habe auch schon gleich eine frage.
    Ich habe ein Programm dem ich keystrokes senden Möchte das geht ja mit

    VB.NET-Quellcode

    1. My.Computer.Keyboard.SendKeys("Blah Blah")

    Jedoch möchte ich das ich das einem bestimmten Prozess der gerade offen ist also Fenster
    zuordnen.
    Könnte mir jemand helfen ? 8|

    ssengel
    Willkommen im Forum. :thumbup:
    1. nimm SendKeys.Send("bla bla")
    2. SendKeys sendet an das Fenster, das den Fokus hat. Wenn Du das also mit einem Button tust, sendest Du es an das eigene Fenster.
    Also:
    Mach das in einer Timer_Tick-Prozedur und klick mal auf ein offenes Notepad.
    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!
    Dann wäre es sinnvoller, mit API.SendMessage() zu arbeiten, da ist ews egal, welches Fenster den Fokus hat,
    aner ich glaube, das bekommen wir später.
    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!

    ssengel schrieb:

    Gibt es auch eine Möglichkeit auf ein Fenster zu warten bis er dann das schreibt ?
    Was willst Du denn da für ein Kriterium definieren?
    Willst Du Dein Programm starten und 5 Sekunden warten, um das Notepad zu starten?
    Die einzige alte Naive ist, das ganze unabhängig vom Fokus zu machen, und das geht nur über API.
    Aber da fehlen Dir noch ein paar Übungsstunden.
    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!
    Also,
    ich möchte ein Programm schreiben, das wenn man auf einen butten klickt er tasten sendet.
    Aber es soll noch ein fenster erscheinen wo dann steht klicke auf das Fenster wo die Tasten hin gesendet werden sollen( oder gleich einen namen des fensters im code, ich möchte sowieso nur an ein bestimmtes Programm schicken) .

    ssengel schrieb:

    Aber es soll noch ein fenster erscheinen wo dann steht ...
    Probier es mal so:
    Erstell Dir dazu einen Dialog (keine MessageBox!), wo das drinsteht.
    Wenn Du dann auf das andere Fenster geklickt hast, wird in diesem Dialog das Deactivate-Event ausgelöst, da schreib das SendKeys rein.
    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!