Maus-Cursor in der Console
-
Hi,
irgendwie bietet die System.Console keine Möglichkeit mit dem Maus-Cursor in der Console zu arbeiten, wie es mit den Win32 Console Funktionen möglich ist.
Gibt es dafür nen anderen Namespace oder eine andere Klasse?
-
Ich denke mal, das ist von den .NET-Machern so gewollt, daß eine Konsole keine Mausbearbeitung zuläßt.
Zur Not mußt du halt die WinAPI-Befehle direkt von C# aus aufrufen.
Was benötigst du denn genau?
-
Das ist ja doof...
Ich benötige die Position der Maus, ob sie geklickt wurde und wo, usw.
Eigentlich das komplette Spektrum. Am besten als Messages.
-
Probier das:
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { [STAThread] static void Main(string[] args) { System.Windows.Forms.MessageBox.Show(System.Windows.Forms.Cursor.Position.ToString()); } } }
ob er bestimmte events auslöst der Mauszeiger kann man nicht abfangen. Da musst du wirklich auf winapi zurückgreifen...
Aber bei einer Form ist es genau so wenig möglich Mausaktionen außerhalb der Form mitzubekommen.
-
Mir fällt noch ein das du natürlich 2 verweise hinzufügen musst:
System.Windows.Forms
und System.Drawing:xmas1:
-
nichts für ungut, aber das ist absolut nichtshelfend... Dadurch bekomme ich nicht die Cursorposition der Maus in der Konsole in Zeichengröße.
-
Du brauchst einen Wrapper um die Win32-Konsolen-API. Ein guter Start ist sicherlich: http://www.dotnet247.com/247reference/msgs/40/200110.aspx.