AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

Ein Thema von Taschenrechner · begonnen am 30. Aug 2021 · letzter Beitrag vom 21. Sep 2021
Antwort Antwort
Seite 1 von 2  1 2   
Taschenrechner
(Gast)

n/a Beiträge
 
#1

Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 13:19
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
Miniaturansicht angehängter Grafiken
tastatur1.png   tastatur2.png  

Geändert von Taschenrechner (30. Aug 2021 um 13:21 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.400 Beiträge
 
Delphi 7 Professional
 
#2

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 15:56
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);
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.093 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 16:14
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.
  Mit Zitat antworten Zitat
Steku

Registriert seit: 12. Mai 2008
181 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 17:27
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#5

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 18:00
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Aug 2021 um 18:03 Uhr)
  Mit Zitat antworten Zitat
Taschenrechner
(Gast)

n/a Beiträge
 
#6

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 22:20
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
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 31. Aug 2021, 14:19
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?
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#8

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 31. Aug 2021, 14:38
Delphi-Referenz durchsuchenTKeyboardLayouts (Layout=NumPad und ließe sich auch um eigene Layouts erweitern)
oder TAdvTouchKeyboard
oder ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Taschenrechner
(Gast)

n/a Beiträge
 
#9

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 2. Sep 2021, 16:45
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!
  Mit Zitat antworten Zitat
Taschenrechner
(Gast)

n/a Beiträge
 
#10

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 2. Sep 2021, 17:22
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
Miniaturansicht angehängter Grafiken
position-tabtip.png  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz