从 Delphi 代码调出表情符号面板

问题描述 投票:0回答:2

我想通过单击速度按钮来调出

TEdit
/
TMemo
的 Windows 10 表情符号面板。可以通过模拟Win+来完成。组合键,但我不知道如何模拟 Windows 键。

表情符号面板如下所示。

建议?

delphi emoji
2个回答
2
投票

这似乎有效

  keybd_event(VK_LWIN, 0, 0, 0); // Left Win down
  keybd_event(190, 0, 0, 0); // "." down
  keybd_event(190, 0, KEYEVENTF_KEYUP, 0); // "." up
  keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0); // Left Win up

也是如此(根据雷米的建议)

procedure ShowEmoji;
var
  k: array [0..3] of TInput;
  I: Integer;
begin
  ZeroMemory(@k,sizeof(k));

  for I := low(k) to high(k) do
   k[i].Itype := INPUT_KEYBOARD;

  k[0].ki.wVk := VK_LWIN;
  k[1].ki.wVk := 190;
  k[2].ki.wVk := 190;
  k[2].ki.dwFlags := KEYEVENTF_KEYUP;
  k[3].ki.wVk := VK_LWIN;
  k[3].ki.dwFlags := KEYEVENTF_KEYUP;

  SendInput(Length(k), k[0], SizeOf(TInput));
end;

但是如果有更好的建议...


0
投票

现在我可以获得表情符号面板,但我有一个问题! 如何将选定的表情符号发送到我的 TMemo 并关闭表情符号面板?

© www.soinside.com 2019 - 2024. All rights reserved.