Touchscreenauswertung über C#

Gast #2793882
Lesenswert?

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 !
Gast #2794130
Lesenswert?

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
#2794369
Lesenswert?

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
Gast #2794546
Lesenswert?

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...
Gast #2794586
Lesenswert?

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
#2798284
Lesenswert?

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.
#2799709
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren