首页 > 解决方案 > 如何在 Win32 中设置 Emoji 弹出位置

问题描述

Windows 10 通过热键 Windows+dot 添加了 Emoji 对话框。自 2017 年以来。我的应用程序如何设置该对话框的位置,以在应用程序的插入符号附近显示它?欢迎使用 C++ 示例。

我的应用程序使用自定义绘制的控件,带有自制的插入符号(用 Delphi 编写)。

弹窗示例

标签: winapiemoji

解决方案


您可以将焦点设置到 Edit 控件并调用keybd_eventSendInput

例如,使用 Edit 控件hEdit1keybd_event

SetFocus(hEdit1);
keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY, 0);
WORD nVkCode = LOBYTE(VkKeyScanEx('.', GetKeyboardLayout(0)));
keybd_event(nVkCode, MapVirtualKey(nVkCode, 0), 0, 0);
keybd_event(nVkCode, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);

推荐阅读