WEB开发网
开发学院手机开发Symbian 开发 Symbian 学习比较之何设置桌面快捷方式 阅读

Symbian 学习比较之何设置桌面快捷方式

 2010-04-14 05:22:00 来源:WEB开发网   
核心提示:table.InsertL();}// we don't really understand the format of ScData, so we simply copy a ready made bytes array to itconst TUint32 KRTType = 0x1020722a;cons

table.InsertL();

}

// we don't really understand the format of ScData, so we simply copy a ready made bytes array to it

const TUint32 KRTType = 0x1020722a;

const TUint8 KScData[]={0x2a,0x72,0x20,0x10,0x7c,0x50,0x27,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xb9,0xcd,0x00,0x20};

table.SetColL(1, KShortcut1);

table.SetColL(2, KRTType);

RDbColWriteStream ws;

ws.OpenLC(table, 3);

TInt len = sizeof(KScData)/sizeof(TUint8);

TPtr8 ptr((TUint8*)KScData, len, len);

ws.WriteL(ptr, len);

ws.CommitL();

CleanupStack::PopAndDestroy(); // ws

table.PutL();

CleanupStack::PopAndDestroy(&table);

err = db.Compact();

User::LeaveIfError(err);

CleanupStack::PopAndDestroy(&db);

CleanupStack::PopAndDestroy(&dbs);

const TUid KUid = {0x101f877c};

const TUint32 KKey = 0x06;

CRepository* cenrep = CRepository::NewLC(KUid);

TInt value = 0;

err = cenrep->Get(KKey, value);

User::LeaveIfError(err);

if(value==1)

{

value = (value==0)?1:0;

err = cenrep->Set(KKey, value);

User::LeaveIfError(err);

User::After(100000); // wait till Standby finish the update

value = (value==0)?1:0;

err = cenrep->Set(KKey, value);

User::LeaveIfError(err);

}

CleanupStack::PopAndDestroy(cenrep);

在这里我们最需要关注的就是在哪个位置和设置哪个因公到此位置上。在哪个位置设置快捷方式我们应该关注的是KShortcut1的值,在这个例子中是0x1027507c,这是快捷方式栏中的第五个位置,第一个位置是0x10275078,第二个位置是0x10275079,以此类推,大家明白了吧。找到了要设置的位置,我们接下来就要关系将哪个应用设置到这个位置上了。看变量KScData,这是一个数组。里面的格式我们可能看不懂,不要紧,我们只要按照这个格式去改就可以了。

Tags:Symbian 学习 比较

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