Einzelnen Beitrag anzeigen

Benutzerbild von dtpfl
dtpfl

Registriert seit: 19. Jan 2018
Ort: Bayern
20 Beiträge
 
Delphi 12 Athens
 
#10

AW: Windows Tastatur öffnen

  Alt 19. Jan 2018, 12:09
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!
  Mit Zitat antworten Zitat