【发布时间】:2018-04-08 07:19:04
【问题描述】:
Windows 10 的最新主要更新“秋季创作者更新”(AKA RedStone3) 具有可在任何文本框中使用的 added the functionality of a system-wide emoji pop-up。
我正在尝试制作一个程序,该程序会在单击按钮时启动相同的弹出式表情符号窗口。正如another discussion 中关于类似主题的建议,我尝试使用InputSimulator 项目。还有其他方法,建议here,但似乎那个模拟器很好地包装了它们。
我所做的只是创建一个新的小型 WPF 应用程序,其中有一个主窗口,其中包含一个文本框和一个按钮。按下按钮将运行以下代码:
textBox.Focus()
new InputSimulator().Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.OEM_PERIOD);
这似乎没有影响!我也尝试过 OEM_1(这是“:;”键码)而不是 OEM_PERIOD,但仍然没有运气。问题是,LWIN 与另一个键(例如 VK_P)的任何其他组合都可以与相同的模拟器代码一起使用。
如果我尝试在真实键盘上按下表情符号热键,在运行该代码后,第一次按下没有任何作用(有时表情符号弹出窗口会显示半秒钟然后立即消失)然后需要按下热键再次以显示弹出窗口。这让我怀疑可能弹出窗口确实显示,只是在屏幕边界之外,或者可能正在等待另一个键盘事件发生/完成?
【问题讨论】:
-
请注意,由于某些奇怪的原因,表情符号噱头仅适用于美国键盘映射。
-
@JonathanPotter 之前没有注意到这一点,谢谢!当然,虽然我已经在英文键盘上尝试过上述代码。
-
请注意,在更新到 RS4(2018 年 4 月)之后,表情符号热键现在应该可以在所有语言中使用
标签: c# wpf winforms input emoji