![]() |
Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo!
Kennt jemand eine Lösung um in Windows 10 die Bildschirmtastatur (tabtip.exe) automatisch in numerischer Darstellung zu öffnen? Es handelt sich beim aktuellen Projekt um eine Anwendung auf der die Metropolis UI liegt. Wenn jetzt auf ein Eingabefeld, das numerischen Input erwartet, gedrückt wird, kommt immer die klassische Tastaturansicht und man muss JEDES MAL erst mittels der Taste "&123" umschalten auf Zahlenansicht. -> Siehe Screenshots -> "Tastatur1,png" zeigt das immer erscheinenden Standardlayout, erst nach Tab / Klick auf Taste "&123" links unten wird auf die Zahlenansicht geschaltet (Tastatur2.png) Die Eigenschaft "KeyboardType" im Objektinspektor auf "vktNumbersAndPunctuation" bringt leider rein gar nichts. Es kommt trotzdem immer das Standardlayout. Für Hilfe bin ich dankbar! Viele Grüße Didi |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Schau mal bitte dort:
![]() Tabtip.exe wird dort per PostMessage geschlossen. Analog dazu müsste per PostMessage nach dem Start von Tabtip.exe auch in die numerischer Darstellung gewechselt werden können. Grob sowas in der Art (ungetestet):
Delphi-Quellcode:
TouchhWnd := FindWindow(nil, 'IPTip_Main_Window');
PostMessage(TouchhWnd, WM_KEYDOWN, VK_TAB, 0); PostMessage(TouchhWnd, WM_KEYUP, VK_TAB, 0); PostMessage(TouchhWnd, WM_KEYDOWN, VK_RETURN, 0); PostMessage(TouchhWnd, WM_KEYUP, VK_RETURN, 0); |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Das ist aber ein ziemlicher Hack der doch auseinander fällt, sobald sich an der Tastatur-Anwendung doch nur mal eine Tab-Reihenfolge oder sonstwas ändert.
|
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Hi,
ich weiß nicht ob sich die Beschreibung von hier ![]() nach Delphi umsetzen lässt, aber vielleicht hilft es trotzdem irgenwie weiter... Grüße Steku |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
![]() Also mit dem XAML vom Vorredner direkt geht es wohl nicht, auch wenn es ein ![]() Aber es gäbe ja auch noch ![]() ![]() ![]() |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Erstmal Danke für Euer Feedback.
1. bzgl. der Lösung von Delphi.Narium: wie kriegt man denn raus wie man die die "&123" ansteuert? 2. bzgl. des Vorschlags von himitsu: das sieht nach viel "versuch macht klug" aus... 3. Die Lösung die ich bei stackoverflow gelesen haben wäre einen Mausklick zu simulieren. Ist natürlich auch nicht richtig gut (oder?), aber wenn nix besseres gibt? Wie würdet Ihr da vorgehen? VG |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
In AutoIt gibt es für so etwas ControlClick (
![]() Aber wäre es nicht wesentlich einfacher diese 10 Tasten selber zu programmieren? |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
![]() oder TAdvTouchKeyboard oder ... |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Hallo zusammen,
ich scheitere schon beim ermitteln der Koordinaten des Touch Keyboards Tabtip.exe procedure TTestform.Button1Click(Sender: TObject); var TouchWindow, ControlHandle:Hwnd; WindowRect:TRect; pos:TPoint; begin touchWindow:= FindWindow(nil, 'IPTIP_Main_Window'); //touchWindow:= FindWindow(nil, 'Unbenannt - Editor'); //Notepad //touchWindow:= FindWindow(nil, 'Microsoft Text Input Application'); //Notepad if TouchWindow <> 0 then begin GetWindowRect(TouchWindow,WindowRect); if (edit1.Text <=' ') or (edit2.Text<=' ') then begin pos.x:=WindowRect.Left; pos.Y:=WindowRect.Top; edit1.text:=intToStr(pos.x); edit2.text:=intToStr(pos.y); Label2.text:='Touchpad Pos Links: '+intToStr(pos.x) +' Touchpad Pos Top:= '+ intToStr(pos.Y); end else begin //übernehme die Zahlen in den beiden Edit-Feldern pos.X:=strToInt(trim(edit1.text)); pos.Y:=strToInt(trim(edit2.Text)); end; aendereTastaturLayout(true,pos,TouchWindow); //auf numerisch end; end; Mit Notepad klappt alles: touchWindow:= FindWindow(nil, 'Unbenannt - Editor'); //Notepad 1. Kriegt Ihr die Koordinaten raus mit FindWindow? 2. Gegoogelt und es hieß mal mit Microsoft Text Input Application versuchen --> touchWindow:= FindWindow(nil, 'Microsoft Text Input Application'); passiert aber auch nix... Ansonsten würde das mit dem Mausklick simulieren funktionieren...aber hat jemand ne Idee wie man die Position des Fensters von tabtip.exe ermitteln kann? Benutze aktuelle Windows 10 Version zum testen Version 21H1 Build 19043.1165 Danke! |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Liste der Anhänge anzeigen (Anzahl: 1)
Weitere Erkenntnisse:
Hab mal mit WinSpy das "Fenster" der Tabtip.exe untersucht.... Scheinbar hat das Fenster immer die Position 0,0 ?!? Alle andere Fenster haben bei mir korrekte Daten zurückgegeben. Scheinbar heisst das Fenster wirklich "Microsoft Text Input Application"? hmmm.. bleibt halt wie man jetzt unten links die Taste "&123" treffen will (also klicken/tabben) ohne die Positionsdaten..Oder mach ich was grundlegendes verkehrt? Danke für Euren Input Didi |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Nochmal die Frage ob nicht auch die Tastatur der VCL benutzt werden kann. Ich hab für die sogar schon Mal ein Hexadezimal Layout gebaut.
|
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Ich habe da vor ca. 2 Jahren einiges an Zeit reingesteckt und bin nie zu einem zufriedenstellenden Ergebnis gekommen.
Das "neue" Tabtip ist selbst heute in Windows 11 noch derart verbuggt dass es sich oft gar nicht mehr öffnet und man mittlerweile sogar Adminrechte braucht um den Prozess zu beenden sodass er sich bitte beim nächsten Anlauf zeigen möge. Im Internet gibt es viele Leute welche die gleiche Frage haben, auch wenn es meistens .NET-Anwendungen mit WinForms sind. Früher hat das noch mit den Registry-Einträgen funktioniert wie bsp. hier beschrieben:
Mit Windows 1709 oder 1803 hatte Microsoft das schon wieder umgebaut und das war auch der Punkt an dem ich aufgegeben hatte und wieder auf das alte osk.exe zurückgegangen bin. Wenn dir der Komfort für den Benutzer wichtig ist würde ich mir überlegen einfach so eine Tastatur selbst zu bauen - Ist an sich kein Hexenwerk, du bräuchtest halt ein Formular das nicht aktiviert wird beim Reinklicken (also nicht den Fokus stiehlt) und hast völlige Gestaltungsfreiheit was die Tastatur anbietet. Eigentlich eine ziemliche Schande dass es hier in Windows keine öffentliche API dafür gibt. PS: Falls du dich weiter durchkämpfen willst, das hier habe ich seit Jahren auf meiner ToDo-Liste, dass ich mich auch damit auseinandersetzen wollte, da ist jemand (auch mit Delphi) anscheinend schon relativ weit gekommen: ![]() |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Hallo,
wenn tchnisch möglich würde ich mal die VCL eigene Tastatur benutzen. Ich hab' die schon in Projekten benutzt und die funktioniert grundsätzlich. Mit ein wenig Aufwand kann man bei Bedarf auch ein eigenes Layou generieren und eine numerische Variante gibt's ja von Haus aus. Grüße TurboMagic |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Nochmal:
Zitat:
|
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Habs mit Mausklick simulieren gelöst!
VG |
AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz