使用C ++“键入”emojis

我真的不知道我应该在标题中input什么,但无论如何,这里是我需要的:

我制作了一些小程序,比如“input”给定的input。 这里是一个键入“test”的例子(举例)。

#include <windows.h> void Press(int Touch); int main() { Sleep(5000);//Sleep a bit, so that you can select where to type Press(VkKeyScan('t')); Press(VkKeyScan('e')); Press(VkKeyScan('s')); Press(VkKeyScan('t')); return 0; } void Press(int Touch) { keybd_event(Touch, 0x9d, 0, 0); keybd_event(Touch, 0x9d, KEYEVENTF_KEYUP, 0); } 

所以我需要的仅仅是这个,但是有了emojis。 我需要能够“键入”任何这样的表情符号:“😂”,从我的程序中。 有什么想法吗?

    有两种方法可以解决这个问题。

    首先是使用“ alt代码 ”:

    • 按住ALT键
    • 按数字键盘上的+
    • 以十六进制输入Unicode代码点
    • 释放ALT键

    但是,这种方法需要在Windows注册表中设置EnableHexNumpad

    第二个将使用Windows剪贴板。

    • 保存Windows剪贴板的内容
    • 将剪贴板内容设置为您希望插入的Unicode字符
    • 发送CTRL + V粘贴字符
    • 将剪贴板还原为之前的内容

    keybd_event已被弃用,正如其MSDN页面所述 。 通常当你查找一个Windows函数并且已经被弃用的时候,你真的应该考虑使用更新的函数。

    使用SendInput ,除此之外,它支持unicode键盘输入仿真。

    您可以通过在一行中打包两个不同的INPUT结构来发送非16位干净的Unicode字符。