键盘挂钩:更改密钥代码
答
假设你的函数原型如下: LRESULT CALLBACK WndProc(HWND hWnd, UING uMsg, WPARAM wParam, LPARAM lParam)
, 你的信的值在wParam里面。假设纯ASCII键盘输入,那么你可以使用以下命令:
short newKeyCode = (char)wParam;
if (uMsg == WM_CHAR || uMsg == WM_SYSCHAR)
if (newKeyCode - 'a' < 26) {
newKeyCode = newKeyCode - 'a' + 'A';
} else {
newKeyCode = newKeyCode - 'A' + 'a';
}
当然,如果你是一个Windows系统上2000年以后(因此在NT架构上运行),wParam中会是一个Unicode值(和UTF-16一样,所以你的程序可能不得不摆弄这个让它进入一个很好的状态,否则这应该是你所需要的。
什么平台?什么API?任何代码?你尝试过什么,失败了? – ybungalobill 2011-04-01 14:36:30
明年还有一个四月的傻瓜:) – pmg 2011-04-01 14:36:57
http://*.com/questions/3548932/keyboard-hook-changes-the-behavior-of-keys – 2011-04-01 14:43:14