有什么办法可以得到吗?我正在使用 INPUT
类来模拟按键,当想要按下 char
类型变量中的键时,我需要使用以下方法:
INPUT ip;
ip.type = INPUT_KEYBOARD;
//a bunch of code, and flags...
ip.ki.wVk = toupper(foo);
...其中 foo 是 char
类型,并且是用户定义的。
这工作正常,直到用户输入一个不是常规字母的字符,这会导致注册一个完全不同的 key (这是可以理解的)。这就是为什么我想问是否有一种方法可以使我能够从变量的值中获取十六进制 key 代码?
我知道我可以制作一个大的 switch(foo) case '1'://and so on...
来用相应的键码替换不受支持的字符,但实际上,将意味着很多不必要的代码。
那么,有什么办法吗?非常感谢回答,如果没有,我会用更复杂的方式解决它。但是,由于这个问题在我身上已经发生过好几次了,所以我认为了解一下以供引用可能会很好。
最佳答案
将我的评论变成答案...
我想你想要VkKeyScanEx(...)
.这会将 TCHAR
变成一个虚拟键码和一组键盘修饰符,您应该可以将它们与 SendInput(...)
一起使用。
关于c++ - 有没有办法从 C++ 中的 char 获取虚拟键码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20079395/