Einzelnen Beitrag anzeigen

Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

AW: Windows Tastatur öffnen

  Alt 19. Jan 2018, 10:55
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;
Thomas

Geändert von Towmuz (19. Jan 2018 um 11:01 Uhr)
  Mit Zitat antworten Zitat