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
Thema durchsuchen
Ansicht
Themen-Optionen

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      
Benutzerbild von himitsu
himitsu

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

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 17: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.
Ein Therapeut entspricht 1024 Gigapeut.

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

n/a Beiträge
 
#2

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 30. Aug 2021, 21: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
 
#3

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 31. Aug 2021, 13: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
44.400 Beiträge
 
Delphi 12 Athens
 
#4

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 31. Aug 2021, 13:38
Delphi-Referenz durchsuchenTKeyboardLayouts (Layout=NumPad und ließe sich auch um eigene Layouts erweitern)
oder TAdvTouchKeyboard
oder ...
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Taschenrechner
(Gast)

n/a Beiträge
 
#5

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 2. Sep 2021, 15: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
 
#6

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 2. Sep 2021, 16: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
Angehängte Grafiken
Dateityp: png Position Tabtip.png (63,1 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.076 Beiträge
 
Delphi 12 Athens
 
#7

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 2. Sep 2021, 19:16
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.
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 2. Sep 2021, 19:56
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:
https://stackoverflow.com/q/50226891/2298252

Geändert von Der schöne Günther ( 2. Sep 2021 um 20:02 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.076 Beiträge
 
Delphi 12 Athens
 
#9

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 3. Sep 2021, 07:03
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
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

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

AW: Windows 10 Bildschirmtastatur automatisch in numerischer Darstellung öffnen

  Alt 3. Sep 2021, 11:06
Nochmal:
Aber wäre es nicht wesentlich einfacher diese 10 Tasten selber zu programmieren?
Das sind 10-16 Buttons mit einfachster Programmierung und du bist nicht abhängig von Änderungen seitens Microsoft.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:12 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