COM-Ports nicht schliessen,wenn im Standby-möglich (Registry?)?!
Hallo.
Ganz kurz zu mir:
Ich lese hier schon eine kleine Ewigkeit mit und bin nach wie vor begeistert-meiner Meinung nach ist das hier die beste Seite zum Thema Windows Mobile im deutschsprachigen Raum.
Privat hatte ich (vor allem aus zeitlichen Gründen) eigentlich nicht vor, mich hier aktiv an Diskussionen zu beteiligen.
Nun habe ich mich jedoch angemeldet, da mir beruflich ein Problem unter den Nägeln brennt:
Ich nutze derzeit ein HTC Touch Pro in der Forschung. Ein Software-Prototyp, den ich entwickelt habe, nutzt dabei an verschiedenen Stellen COM-Ports: Einer wird durch ein GPS-Framework geöffnet, einen anderen öffne ich, um eine Bluetooth-Verbindung über einen virtuellen, seriellen Port (mit einem anderen (Hardware-)Prototypen) herzustellen.
Mein Problem: Während eines Versuchsablaufes müssen diese beiden Ports unbedingt geöffnet bleiben. Gleichzeitig soll das Gerät z.B. in der Hosen-/Jackentasche des Probanden verschwinden.
Das Gerät ist bereits so eingestellt, dass sich das Display nicht automatisch abschaltet (es wird nur dunkler). Solange das Gerät in diesem Zustand ist, bleiben auch die Ports geöffnet. Allerdings ist der Touchscreen dabei die ganze Zeit aktiv, was für oben beschriebenes Szenario natürlich ein Problem ist.
Da es während des Versuchs immer mal wieder nötig ist, Eingaben in der von mir geschriebenen Anwendung vorzunehmen, ist die vorhandene Software-Tastensperre für mich nutzlos - man kann sie zwar (durch langes Drücken auf den Hörer-Knopf) aktivieren, jedoch landet man dann im Home-Screen und müsste sich erst jedes Mal zurück zur Anwendung navigieren. (Das geht in so einem Versuchsablauf nicht.)
Am Einfachsten wäre es, wenn man einfach den Powerknopf einmal kurz drücken könnte, um das Display und damit auch den Touchscreen auszuschalten. Drückt man diesen Knopf erneut, ist man nach wie vor in der aktiven Anwendung.
Allerdings hat das Drücken des Powerknopfes zur Folge, dass die COM-Ports geschlossen werden - der GPS-Empfang läuft als nicht und auch der virtuelle serielle Port wird geschlossen. (Aus dem Privaten weiss ich, dass bei meinem 4350 z.B. auch das WLAN automatisch getrennt wird.)
Das ist ein großes Problem für mich und ich suche nach einer Lösung, die Verbindungen aufrecht zu erhalten, obwohl der Touchscreen nicht aktiv ist.
Fällt jemandem eine Lösung ein? Irgendwelche Hacks, Registry-Keys, Einstellungen, Tools?
Vielen Dank für Eure Mithilfe und liebe Grüße,
Trav
AW: COM-Ports nicht schliessen,wenn im Standby-möglich (Registry?)?!
Ich bin leider kein Programmierer, aber ich weiß ein Programm, in dem das so umgesetzt wrude wie du es dir vorstellst (Tastatur wird gesperrt, aber Programm bleibt aktiv. Beim entsperren bist du immer noch auf der Programmseite).
Vielleicht setzt du dich mal mit den Programierern in Verbindung (sind Studenten der Uni Leipzig).
Das Programm heißt "Smartrunner", zu finden unter http://www.smartrunner.de
ciao
Indy
AW: COM-Ports nicht schliessen,wenn im Standby-möglich (Registry?)?!
Vielen Dank für diesen Hinweis! Das mache ich.
Gruß,
Trav
AW: COM-Ports nicht schliessen,wenn im Standby-möglich (Registry?)?!
Also manchmal funktionieren Gehirn bzw. Kreativität schon sehr merkwürdig....
Obwohl ich eigentlich meinte genau zu wissen, was mein Problem ist und was ich suche, habe ich scheinbar nicht richtig gesucht...
Der Tipp von mir mit der Smartrunner-Anwendung hat dann irgendwas in meinem Hirn getriggert, was mir - eigentlich - auch hätte so einfallen können. Aber die Tastensperre so wie ich sie wollte in Aktion zu sehen, hat meinem Gehirn irgendwie einen Stups gegeben...:
Erst fiel mir ein, dass sich vllt. eine fertige Funktion in den OpenNETCF Bibliotheken findet - das war aber nicht so. Warum mir diese Idee erst kam, als ich die Smartrunner Anwendug vor mir hatte und ein paar mal die Tastensperre benutzt habe und jemandem davon erzählt bzw. es gezeigt habe, weiss ich nicht (Ich sag ja, das Gehirn funktioniert manchmal merkwürdig.).
Von diesem gedanklichen Startpunkt aus habe ich dann aber nochmal (anders als vorher) recherchiert und eine funktionierende Lösung für meinen Code gefunden. :)
Wen es interessiert: Ich nutze über P/Invoke das keybd_event und den Key Code 0x85 - das lockt das Gerät. Es ist genau so wie in der Smartrunner Anwendung.
Vielen Dank nochmal für den Hinweis... :)
Gruß,
Trav
AW: COM-Ports nicht schliessen,wenn im Standby-möglich (Registry?)?!
Ist schön wenn ich Dir helfen konnte :-)
Man kann nicht alle Programme und Funktionen der Libaries kennen, von daher gib nicht deinem Hirn die Schuld... noch viel Erfolg bei der Programmierung.
ciao
Indy