WEB开发网
开发学院手机开发Symbian 开发 Symbian 自动获取键盘锁状态事件(非RAknKeyLock方... 阅读

Symbian 自动获取键盘锁状态事件(非RAknKeyLock方式)

 2010-03-27 15:50:00 来源:WEB开发网   
核心提示:_LIT(KFormat, "Key:%d, Value:%d, err:%dx0a0d");TBuf<64> buf;buf.Format(KFormat, i, value, err);TRAP_IGNORE(iFile.WriteL(buf));}iKeyLock.DisableW

_LIT(KFormat, "Key:%d, Value:%d, err:%dx0a0d");

TBuf<64> buf;

buf.Format(KFormat, i, value, err);

TRAP_IGNORE(iFile.WriteL(buf));

}

iKeyLock.DisableWithoutNote();

for(TInt i=1; i<=6; i++)

{

TInt value=0;

TInt err = cenrep->Get(i, value);

_LIT(KFormat, "Key:%d, Value:%d, err:%dx0a0d");

TBuf<64> buf;

buf.Format(KFormat, i, value, err);

TRAP_IGNORE(iFile.WriteL(buf));

}

Keylock enabled: 1, 0, 0, 0, 0, 0

Keylock disabled: 0, 0, 0, 0, 0, 0

That means the key 1 is for keylock state

Step 6. Use CCenRepNotifyHandler to monitor the keylock state changes, verified on both emulator and N95.

Result: See the snapshots in the attached .zip package. When the keys are locked we draw a rect and when unlocked we clear it.

首先,我们先做一个假设,当前键盘锁状态是保存在Central Repository中.然后我们要验证这个假设:

在模拟器里,我们通过加锁键盘和解锁键盘,来查看在Central Repository中所有文件的变化,反复测试后发现只有101f8765.cre产生了变化!所以我们就推测键盘锁状态就是保存在这个文件当中!

接着,我们分别拷贝未锁和已锁两个状态下的101f8765.cre,对比分析,结合"epoc32eleasewinscw udebzprivate10202be9101f8765.txt"文件发现,只有一位不同,正是键盘锁状态的"1"和"0"!加上实际情况的测试结果,足以证实我们的假设是正确的.

既然知道了键盘锁状态在Central Repository中保存位置,那么我们就可以用"CCenRepNotifyHandler"来监测该状态值的变化,来实现自动获取键盘锁状态的功能!

上一页  1 2 

Tags:Symbian 自动 获取

编辑录入:coldstar [复制链接] [打 印]
赞助商链接