1. 获取文件的完全路径
在头文件添加下列声明:
IMPORT_C TInt CompleteWithAppPath( TDes& aFileName );
TFileName filename(_L("RETROBLASTER.MBM"));
CompleteWithAppPath( filename );
2. 获取当前设备显示方式(获取设备的色深)
使用的头文件:
#include <eikenv.h>
在任何VIEW视图代码里面:
TDisplayMode displayMode = iEikonEnv->ScreenDevice()->DisplayMode();
3. 获取当前系统时间(时间差)
TTime currentTime;
currentTime.HomeTime();
TInt64 currentTick = currentTime.Int64();
4. 强制让程序从前台转到后台
TApaTaskList tasklist(iCoeEnv->WsSession());
TApaTask task(tasklist.FindApp(TUid::Uid(填入你项目的UID)));
task.SendToBackground();
5. 显示中文汉字(2种方法)
1) 在RSS资源文件里面定义RESOURCE TBUF64 r_example_view_title { buf = "新年快乐";}然后将其用WORD转换成UTF8编码,在此RSS文件头部添加CHARACTER_SET UTF8,否则无法编译,然后在程序里面调用,就能显示中文了。
2) 用系统CcnvCharacterSetConverter API来转换CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC();if(converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierGbk, iEikonEnv->FsSession())!=CCnvCharacterSetConverter::EAvailable)
User::Leave(KErrNotSupported);
TText8 *str = (TText8*)"新年快乐";
TInt state=CCnvCharacterSetConverter::KStateDefault;
TPtrC8 source( str ); iInfoText = HBufC::NewL( source.Length() );
TPtr16 ptr = iInfoText->Des();
f(CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode(ptr, source, state)) User::Leave(KErrArgument); //Leave if error in conversion.
CleanupStack::PopAndDestroy(); //clean for converter
随后你就可以Draw出中文字体了,前提是你设备内有中文字库
6.获取IMEI串号
#include <plpvariant.h>
void DeviceUtils::GetImei(TDes& aImei)
{
#ifndef __WINS__ //真实设备
TPlpVariantMachineId imei;
PlpVariant::GetMachineIdL(imei);
aImei.Copy(imei);
#else //模拟器
_LIT(KEmulatorImei, "000000000000000");
aImei.Copy(KEmulatorImei);
#endif
}
转自snlo studio http://www.cnblogs.com/jesonray/archive/2008/11/04/1326503.html