Ich habs erst mal. Dank der Hilfe von Sir Rufo...
Ich noch nicht optimal, aber durch eine kleine Änderung in der FMX.Platform.Win
Ausszug aus der TVirtualKeyBoardWin.Create
Delphi-Quellcode:
if DVersion < 620
then
begin
if Winapi.Windows.RegOpenKeyEx(HKEY_LOCAL_MACHINE, '
SYSTEM\CurrentControlSet\Enum', 0, KEY_READ,
HID) = ERROR_SUCCESS
then
try
S := FindKeyValue(HID, '
ClassGUID', '
{4D36E96B-E325-11CE-BFC1-08002BE10318}', '
Control',
'
ActiveService');
FKBPresent := S <> '
';
finally
RegCloseKey(HID);
end;
end
else
begin
{$IFNDEF HARDCODED}
if Winapi.Windows.RegOpenKeyEx(HKEY_LOCAL_MACHINE, '
SOFTWARE\Classes\', 0, KEY_READ,HID) = ERROR_SUCCESS
then
try
S := FindKeyValue(HID, '
CLSID', '
{054AAE20-4BEA-4347-8A35-64A533254A9D}', '
LocalServer32','
');
// Häää
FPath := S;
FExeName := '
TabTip.exe';
FWndClassName := '
IPTip_Main_Window';
FKBPresent := S <> '
';
finally
RegCloseKey(HID);
end;
{$ELSE}
FPath := '
C:\Program Files\Common Files\Microsoft Shared\Ink';
//S;
FExeName := '
TabTip.exe';
FWndClassName := '
IPTip_Main_Window';
FKBPresent := true;
{$ENDIF}
//Windows.Devices.Input.KeyboardCapabilities.KeyboardPresent
end;
Schön wäre es noch ohne den {$DEFINE HARDCODED}
Grüsse Mavarik