Hallo Forum! Ich habe da ein kleines Problem, ich hoffe es ist klein! in meinem Gartenhaus habe ich ein Display das mir den Gesamtzustand von dem Häuschen anzeigt. Dieses Programm läuft aber nicht im Windows sondern wird in einer Console ausgeführt (Fullscreen). Ich habe jetzt den Computer gegen eine Shuttle PC ausgetauscht. Nun mein Problem: Unter Windows funktioniert der USB- Touch super, aber wie kann ich in einer Console abfragen wo gerade der Touch berührt wird ? Danke für euro Hilfe !
klausi schrieb: > Nun mein Problem: Unter > Windows funktioniert der USB- Touch super, aber wie kann ich in einer > Console abfragen wo gerade der Touch berührt wird ? sollte doch wie ein normales MausEvent sein. Eventuell hilft auch das weiter: http://msdn.microsoft.com/de-de/magazine/ee336016.aspx
klausi schrieb: > Leider gibt es bei der Console kein MausEvent ... wie kann man denn auf der console etwas darstellen? Text? Oder meinst du eine Vollbild anwendung? Console != Vollbild anwendung
Es gibt keinen Mauszeiger.... Zuerst war es nur eine Anzeige, nun habe ich Buttons (Nur Grafiken) eingefügt wo ich die Koordinaten vom Touch-Click benötige. Ich habe es schon versucht mit Cursor-Position(Maus) und klick abfrage aber da es keine Maus gibt muss ich mich direkt mit dem touch verbinden oder gibt es eine eigene class für touch-Displays ? lg
klausi schrieb: > Es gibt keinen Mauszeiger.... > > Zuerst war es nur eine Anzeige, nun habe ich Buttons (Nur Grafiken) > eingefügt wo ich die Koordinaten vom Touch-Click benötige. Ich habe es > schon versucht mit Cursor-Position(Maus) und klick abfrage aber da es > keine Maus gibt muss ich mich direkt mit dem touch verbinden oder gibt > es eine eigene class für touch-Displays ? > > lg Wie man's nimmt, es gibt WM_TOUCH http://msdn.microsoft.com/en-us/library/windows/desktop/dd317341(v=vs.85).aspx
Also 1. weißt du nicht was ein touchscreen ist. 2. Bist du zu faul zum testen Ein touchscreen ist ein bildschirm +maus für den pc. Aber dazu sollte man in der lage sein eine bedienungsanleitung zu lesen Mfg
Guten Morgen lieber Sebastian-L,
Ich glaube du hast mich nicht verstanden ! Wenn ein Programm in der
Console Fullscreen ausgeführt wird gibt es keinen Mauszeiger, daher
möchte ich eine Verbindung direkt zum Touchcontroller aufbauen.
Ein Touch-Klick über einen Mausevent bzw die Position ist einfach
auszulesen, aber da muss die Oberfläche (Desktop) von Windows da sein...
Beschreibung habe ich gelesen aber auf dieses Thema wird nicht
eingegangen es gibt auch keine DLL
> 2. Bist du zu faul zum testen
Ne kann ich mir nicht vorstellen , Wenn du mir sagst wie ich auf die
Hardware zugreifen kann dann werde ich es testen...
klausi schrieb: > Wenn ein Programm in der > Console Fullscreen ausgeführt wird gibt es keinen Mauszeiger, daher > möchte ich eine Verbindung direkt zum Touchcontroller aufbauen. wir haben immer noch nicht verstanden was das für ein Programm ist? Ist es eine Win32 Anwendung? Beschreibe doch mal was du mit console uns fullscreen meinst.
Beim Start der Visualisierung wird eine Consolenanwendung ausgeführt die den ganzen Bildschirm nutzt.(andere Auflösung als Windows, so wie das Spiel Doom1). Das Programm ist in C geschrieben. In diesem Programm habe ich Bilder eingebaut die aussehen wie Buttons. Nun würde ich gerne einen Programm in C#/WPF schreiben dass den Werte vom Touch einlesen kann und die dann über Sendkeys an das C-Programm sendet (nicht direkt an das Programm sondern einen KeypressEvent in der Console auslöst) Sobald die Visu läuft ist Windows im Hintergrund und nicht mehr zu sehen ( Console "Alt+Enter" ) somit gibt es keinen MausEvent mehr. Das Progi in C# habe ich schon fertig, es funktioniert im Desktop zu 100% aber nicht mehr wenn die Console gestartet wird. -- keine Maus
dein C# Programm hilft da aber nicht weiter, du musst das C Programm anpassen. Hier steht einiges dazu: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682079%28v=vs.85%29.aspx Aber einfacher ist es vermutlich eine Normales Windows programm mit C# zu schreiben und das ganze als Vollbild laufen zu lassen.
Ich bin eh schon knapp davor das Programm neu zu schreiben aber wenn es geht würde ich es lieber lassen. Gibt es nicht die Möglichkeit den Touch zu sniffen und die Daten dann zu verarbeiten ?
klausi schrieb: > Gibt es nicht die Möglichkeit den Touch zu sniffen und die Daten dann zu > verarbeiten ? ich vermute es meldet sich als HID. Dann sollte es damit gehen: http://msdn.microsoft.com/en-us/library/ms645543.aspx
Hallo! Ich suche auch schon seit langem so eine Möglichkeit, gibt es wo einen Sourcecode damit ich mir ein wenig abschauen kann ich bin nicht der beste c# programmierer... Danke!
Hallo Marc, ich bin selber gerade dabei es zu programmieren... Ist nicht so einfach !
Hi Marc! So lange du nicht das selbe komische "Konsolenprogramm" wie klausi benutzt ist es GANZ EINFACH ;-) Da liefert der Touchscreen ganz normale Mausevents, du brauchst also eigentlich garnichts spezielles programmieren...
Ich hoffe das ist jetzt nicht frech wenn ich sage, warum nicht in C# "neu" schreiben, als Fenster ausführen ohne Border und Kopfleiste, auf Bildschirmauflösung bringen und fertig? Mit WPF kannst du dann noch deine Buttons schön verzieren, wenn es das braucht. Und dann kannst du den Touchscreen als normale "Maus" verwenden, wobei du den Mauszeiger beim Hovern über dem Fenster gegen einen "blanken" austauschen kannst. Die Maus und Touchscreen geschichte wäre ein minimaler Aufwand. Wie groß der Aufwand von deinem restlichen Programm ist, ist die andere Sache.
http://social.msdn.microsoft.com/Forums/en/winforms/thread/6f8bb366-d0b4-40a9-8004-367f186cd639 Das könnte helfen für die Rohdaten
Der TO hat schon eine Win32-Anwendung vor sich, die eben in der Konsole läuft. Wenn ich mich recht entsinne, war die edit.com in der Konsole bei Windows XP mit der Maus bedienbar; irgendwie müssen die Maus-Ereignisse wohl in die Konsole gelangen. Überprüfen kann ich das gerade leider nicht, da kein Windows XP vorhanden; bei Windows 2000 geht's nicht, beim der Windows 8 public beta fehlt die edit.com zum Ausprobieren.
Meiner Meinung nach über den RawInput, das sollte am einfachsten sein
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.