Habe gerade endtdeckt, das es im Windows 10 Tablet Modus funktioniert, jedoch mit langer verzögerung. Wenn der Tablet Modus deaktiviert ist funktioniert es nicht(wie oben beschrieben).
Welche Windows 10-Version genau? Wenn ich mich richtig erinnere war unter 1607 (oder 1703?
) das leider so dass von einer
Win32-Anwendung aus die Bildschirmtastatur einfach nicht aufging...
Windows 10 Pro 10.0.15063 (Build 15063)
Moin,
du kannst es bei Tablets auch wie folgt ansprechen um die standard Mobiletastatur aufzurufen. Funktioniert wunderbar.
Liegt wohl an der geänderten Handhabe bei Win10 für den mobilen Bereich.
(Quelle
Stackoverflow)
Delphi-Quellcode:
function TTabletHeadlinePanel.FindTrayButtonWindow: THandle;
var
ShellTrayWnd: THandle;
TrayNotifyWnd: THandle;
begin
Result := 0;
ShellTrayWnd := FindWindow('Shell_TrayWnd', nil);
if ShellTrayWnd > 0 then
begin
TrayNotifyWnd := FindWindowEx(ShellTrayWnd, 0, 'TrayNotifyWnd', nil);
if TrayNotifyWnd > 0 then
begin
Result := FindWindowEx(TrayNotifyWnd, 0, 'TIPBand', nil);
end;
end;
end;
procedure TTabletHeadlinePanel.LogoClick(Sender: Tobject);
var
TrayButtonWindow: THandle;
begin
TrayButtonWindow := FindTrayButtonWindow;
if TrayButtonWindow > 0 then
begin
ShowMessage('Tray');
PostMessage(TrayButtonWindow, WM_LBUTTONDOWN, MK_LBUTTON, $00010001);
PostMessage(TrayButtonWindow, WM_LBUTTONUP, 0, $00010001);
end else begin // Edit: ab hier für den Desktop, aber das erklärt sich wohl auch von selbst :)
ShowMessage('Tabtip');
ShellExecute(0, 'open', 'c:\Program Files\Common Files\microsoft shared\ink\TabTip.exe', nil, nil, SW_SHOWNA);
end;
end;
Super! Hat einwandfrei funktioniert
Wow danke an alle für die schnellen Antworten!