Symbian:程序在后台时获得按键输入

可以使用以下方法使得程序在后台的时候仍然很接受键盘输入

//53是按键5的iScanCode,另外一些按键例如向左键要使用iCode来捕捉,方法相同
//in  AppUi::ConstructL()
 iEikonEnv->RootWin().CaptureKey(53,0,0 );
 iEikonEnv->RootWin().CaptureLongKey(53,53, 0, 0,1000000000, ELongCaptureNormal); // to start capturing

//in  AppUi::HandleKeyEventL()
 if(aKeyEvent.iScanCode == 53 && aKeyEvent.iRepeats == 1)
 {
  //相关处理
 }

这里要注意的是53是要接收的按键的iScanCode,如果这样做发现没有接收到按键事件,应该将CaptureLongKey()的第五个参数设置大点,因为这个参数的意义是如果有多个程序监听了同一个按键,系统将会把该按键传递给较大值那个程序.同时是因为这个原因,如果有程序监听了5再回到界面拨号打电话的话,按5键无反应.这个问题将在另外解决.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值