Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen (https://www.delphipraxis.net/208624-windows-10-bildschirmtastatur-automatisch-numerischer-darstellung-oeffnen.html)

Taschenrechner 30. Aug 2021 13:19

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

Delphi.Narium 30. Aug 2021 15:56

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
 
Schau mal bitte dort: https://social.msdn.microsoft.com/Fo...10-application

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);

Der schöne Günther 30. Aug 2021 16:14

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.

Steku 30. Aug 2021 17:27

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
 
Hi,

ich weiß nicht ob sich die Beschreibung von hier https://docs.microsoft.com/en-us/win...ectedfrom=MSDN
nach Delphi umsetzen lässt, aber vielleicht hilft es trotzdem irgenwie weiter...

Grüße
Steku

himitsu 30. Aug 2021 18:00

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
 
https://docs.microsoft.com/en-us/win...pi/inputscope/

Also mit dem XAML vom Vorredner direkt geht es wohl nicht,
auch wenn es ein MSDN-Library durchsuchenSetInputScopeXML gibt, aber bei dem steht halt was vonwegen "Do not use".

Aber es gäbe ja auch noch MSDN-Library durchsuchenSetInputScope, MSDN-Library durchsuchenSetInputScopes oder MSDN-Library durchsuchenSetInputScopes2.

Taschenrechner 30. Aug 2021 22:20

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

Moombas 31. Aug 2021 14:19

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
 
In AutoIt gibt es für so etwas ControlClick (https://www.autoitscript.com/autoit3...ntrolClick.htm), mann muss natürlich vorher die Handles etc. herausfinden (bei Autoit über dessen Window Info Tool) aber zumindest scheint bei W7 es nicht möglich sein die Buttons der Tastatur zu bekommen und somit direkt anzusprechen.

Aber wäre es nicht wesentlich einfacher diese 10 Tasten selber zu programmieren?

himitsu 31. Aug 2021 14:38

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen
 
Delphi-Referenz durchsuchenTKeyboardLayouts (Layout=NumPad und ließe sich auch um eigene Layouts erweitern)
oder TAdvTouchKeyboard
oder ...

Taschenrechner 2. Sep 2021 16:45

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!

Taschenrechner 2. Sep 2021 17:22

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf