myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Basistechnologien und allgemeine .NET-Klassen » Wie kann ich die Tasten left, right, up down an ein serielles Gerät senden?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich die Tasten left, right, up down an ein serielles Gerät senden?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Wollez Wollez ist männlich
myCSharp.de-Mitglied

Dabei seit: 10.01.2020
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2019
Herkunft: Bodensee


Wollez ist offline

Wie kann ich die Tasten left, right, up down an ein serielles Gerät senden?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen. Vorweg, ich bin blutiger Anfänger und habe mich auch schon zu tote gegooglt.

Ich bin gerade dabei ein kleines Programm zu schreiben, dass auf ein Gerät seriell zugreift und dessen Menü steuert, bzw. bedient. Dies wird mit den Tasten left, right, up down und Return gesteuert.
Den seriellen Port habe ich bereits erfolgreich hinbekommen und die Daten werden in einer Rich Text Box ausgeben. Auch das das Menü der Hardware reagiert, funktioniert.
Jetzt kommt mein Problem… Ich bekomme es einfach nicht hin, dass die Tasten left, right, up und down nicht übertragen werden. Diese sollen über ein Button gesendet werden, also nicht durch die Tastatur.
Ich hoffe, ich habe das jetzt verständlich beschrieben. Kann mir jemand erklären wie ich dies machen muss oder weis eine Webseite (in Deutsch), wo dies erklärt wird?

Gruß Wolfgang
24.09.2020 07:20 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
glandorf glandorf ist männlich
myCSharp.de-Mitglied

avatar-4144.jpg


Dabei seit: 07.10.2016
Beiträge: 55
Entwicklungsumgebung: Visual Studio
Herkunft: Chemnitz


glandorf ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

in dem du den entsprechenden Steuerbefehl an die Hardware sendest?

glandorf
24.09.2020 09:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.599
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wir kennen weder die von dir verwendete Hardware, noch kennen wir deinen Code. Wie sollen wir dir da helfen? Deine erste Anlaufstelle wäre die Dokumentation deiner Hardware bzw. des verwendeten SDKs.

Siehe auch  [Hinweis] Wie poste ich richtig?
24.09.2020 18:12 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 2 Monate.
Wollez Wollez ist männlich
myCSharp.de-Mitglied

Dabei seit: 10.01.2020
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2019
Herkunft: Bodensee

Themenstarter Thema begonnen von Wollez

Wollez ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

ich habe leider nicht mitbekommen, dass jemand geantwortet hat. Sorry.

Ich bin immer noch an dem Problem, dass ich nicht die Tastenbefehle Up, Down, left, right senden kann. Diese und die Return Tasten bräuchte ich jedoch. Die Verbindung zu dem System, dass ich damit steuern muss, läuft über Telnet. Kann aber auch seriell verwendet werden. Dies klappt auch alles und auch die Return Taste geht. Nur eben die Tasten Left, Right, Up und Down nicht.
Mittlerweile hab ich, glaub ich alles was ich auch im Netz und meinen Büchern beschrieben wurde versucht. Leider geht es nicht.


z.B. Enter, das geht.

C#-Code:
serialPort1.Write(new byte[] { 13, 10 }, 0, 2);

und

C#-Code:
serialPort1.Write(new byte[] { 40, 10 }, 0, 2);

müsste ja dann für Down sein, oder?

ich habe auch

C#-Code:
SendKeys.Send("{down}");

getestet. Das geht leider auch nicht.

Gruß Wolfgang

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Wollez am 30.11.2020 11:29.

30.11.2020 11:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Alf Ator
myCSharp.de-Mitglied

avatar-586.gif


Dabei seit: 30.10.2007
Beiträge: 617
Entwicklungsumgebung: VS2005 / VS2008


Alf Ator ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi Wollez

Schau mal in das  Keys Enum, was du genau sendest:

Die Frage ist auch noch, wann du deinen .Write-Befehl überhaupt absetzt. Im KeyDown-Event oder so?
Bist du mal mit dem Debugger dahin?

Bei SendKeys.Send steht in der Doku übrigens {DOWN} und nicht {down}. Kein Plan ob das einen Unterschied macht, aber als Entwickler solltest du auf so Kleinigkeiten achten.

Gruß
Alf
30.11.2020 12:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Wollez Wollez ist männlich
myCSharp.de-Mitglied

Dabei seit: 10.01.2020
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2019
Herkunft: Bodensee

Themenstarter Thema begonnen von Wollez

Wollez ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Alf Ator,

Wenn ich das richtig verstanden habe, reagiert dies nur auf die angegebenen Tasten und löst dann "etwas aus".

Bei dem Sendkey habe ich mich hier im Forum nur verschrieben. Es steht in meinem Code schon groß geschrieben drin.
30.11.2020 14:37 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Monate.
Der letzte Beitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2021 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 25.01.2021 15:41