C 键盘挂钩:更改键代码
我确实钩住了某个进程的键盘。现在我需要更改发送到进程的关键消息 例如:从小写到大写和相反C 键盘挂钩:更改键代码,c,windows,keyboard-hook,C,Windows,Keyboard Hook,我确实钩住了某个进程的键盘。现在我需要更改发送到进程的关键消息 例如:从小写到大写和相反 我如何才能做到这一点?假设您的函数原型如下所示: LRESULT回调WndProc(HWND HWND,UING uMsg,WPARAM WPARAM,LPARAM LPARAM), 你的信的价值在wParam中。假设使用纯ASCII键盘输入,则可以使用以下选项: short newKeyCode = (char)wParam; if (uMsg == WM_CHAR || uMsg == WM_SYSCH
我如何才能做到这一点?假设您的函数原型如下所示:
LRESULT回调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';
}
short newKeyCode=(char)wParam;
if(uMsg==WM|u CHAR | uMsg==WM_SYSCHAR)
if(newKeyCode-'a'<26){
newKeyCode=newKeyCode-'a'+'a';
}否则{
newKeyCode=newKeyCode-'A'+'A';
}
当然,如果您在2000年以后的Windows系统上(因此在NT体系结构上运行),wParam将是一个Unicode值(以及UTF-16,这是Windows的惯例),因此您的程序可能必须处理它才能使其进入良好状态,否则这应该是您所需要的全部。什么平台?什么API?有密码吗?你尝试了什么但失败了?明年还有一个愚人节:)平台窗口。还有API窗口。我在C.写的不是C++