怎样实现软键盘功能?

poplv 2005-09-15 07:53:17
我做了一个钩子程序,想实现类似软键盘的功能,比方说截获按键‘1’,后,向用户输出的是罗马数字‘Ⅰ’。

LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
//当接收到的消息为WM_KEYUPSH时

if(lParam&0x80000000)//对lParam怎么处理?有谁知道吗?这是我从网上弄得,还有lParam&0x40000000,什么意思啊?
{
switch(wParam)
{
case '1':
//此处怎么处理?罗马数字‘Ⅰ’的十六进制代码为0xA2F1
break;
case '2':
//等等...
}

//调用CallNextHookEx()函数,并返回该函数的返回值。
return CallNextHookEx(g_hHook,nCode,wParam,lParam);
}

另外输入法的软键盘用什么能做出来?对话框+静态控件(还是ActiveX控件)
VC下好做吗?

谢谢!!

...全文
153 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
poplv 2005-10-17
  • 打赏
  • 举报
回复
程序已经做的差不多了,现在还有几个问题:
用RegisterHotKey()注册热键,然后在WM_HOTKEY的消息响应函数中调用按钮的消息响应函数。
但是有些热键,比如Ctrl+Alt+某无效.
zhouhuahai 2005-09-17
  • 打赏
  • 举报
回复
if(lParam&0x80000000)//对lParam怎么处理?有谁知道吗?这是我从网上弄得,还有
如果lParam的第31位不为0,则........

lParam&0x40000000
如果lParam的第30位不为0,则........

//此处怎么处理?罗马数字‘Ⅰ’的十六进制代码为0xA2F1
真不好意思,偶不会输出罗马数字.............

楼主可以去看<<windows程序设计>>

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧