none
LoL-Timer mit Sendwait probleme RRS feed

  • Frage

  • Hallo

    Wollte ein kleines Programm in C# schreiben das in LoL (League of Legends) etwas in den Chat schreibt
    Mein problem ist das er den text zwar schreibt und absendet, ich danach aber keine anderen tasten mehr verwenden kann
    bis ich die ENTER taste einmal drücke

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Forms;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using Utilities;
    
    namespace löschen
    {
        /// <summary>
        /// Interaktionslogik für MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                gkh.HookedKeys.Add(Keys.NumPad1);
                gkh.KeyDown += gkh_KeyDown;
            }
    
            globalKeyboardHook gkh = new globalKeyboardHook();
    
            void gkh_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
            {
                System.Windows.Forms.SendKeys.SendWait("{ENTER}" + "Testen" + "{ENTER}");
            }
        }
    }

    Also Wenn ich hier die Numpad1 taste drücke sollte er den Test Testen schreiben und abschicken ( Enter um in den Chat zu kommen und enter zum abschicken)

    Das Problem ist wie gesagt danach kann ich keine anderen Tasten im spiel verwendet außer wenn ich die ENTER taste nochmal drücke. dann funktionieren alle tasten wieder.

    im Spiel ist die Taste Numpad1 aber an keiner aktion oder so gebunden, hab sicherheitshalber es aber auch mit F1 versucht selbes ergebnis.

    Dann hab ich versucht danach ein Flush zu machen, was kein ergebnis gebracht hat
    und versucht es mit dem normal Send( string key) versucht der schreibt mir aber dann erst recht nichts raus

    Hoffe er versteht mein problem und könnt mir helfen

    Mit freundlichen Grüßen

    Samstag, 30. Mai 2015 14:43

Alle Antworten

  • Hallo,

    woran das Problem genau liegt kann ich dir leider nicht sagen. Aber hast du schon mal versucht einfach nochmal Enter zu senden? Also so hier:

    SendKeys.SendWait("{ENTER}" + "Testen" + "{ENTER}{ENTER}");

    Was passiert denn, wenn du NumPad1 drückst ohne dass dein Programm ausgeführt wird?

    Du kannst auch noch versuchen das Event als erledigt zu markieren, sodass es nicht mehr weiter geleitet wird:

    e.Handled = true;
    Das funktioniert natürlich nur, wenn die von dir verwendete Bibliothek ordentlich arbeitet.


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Samstag, 30. Mai 2015 15:42
  • funktioniert auch mit dem Handled nicht,Wenn ich kein programm offen hab dann passiert "nichts" also wird nichts geschrieben.

    Das mit nochmal Enter senden hab ich auch schon versucht, ich muss danach trotzdem nochmal Enter drücken

    Vllt sollte ich erwähnen das der bug nur im Spiel LoL passiert

    also wenn ich das im Editor teste und numpad1 drücke dann schriebt er das hin und ich kann
    danach direkt irgentwas anderes schreiben ohne das es "blockiert" wird.

    nur in LoL habe ich das problem.das ich danach Enter drücken muss sonst funktionieren die anderen Keys nicht maus funktioniert aber trotzdem weiter


    • Bearbeitet Ephaltes Samstag, 30. Mai 2015 16:09
    Samstag, 30. Mai 2015 16:08