您的位置:首页 > 其它

如何让WINDOWS MOBILE的项目支持更多设备。

2008-11-13 10:59 471 查看
前一个项目要SUPPORT的机型很多,PPC,SP,而且要求主流的机型全覆盖,总结一下在做这方面开发的时候需要用的API,如果大家也遇到这种情况少走些弯路:)
GetSystemMetrics( SM_CXSCREEN ); //得到X横的宽度,如果想得到Y轴宽度为M_CYSCREEN )这个对于要SUPPORT不同大小的屏幕的PROJECT很有用。

int GetDeviceCaps( HDC hdc, // handle to DC int nIndex // index of capability );// nindex 参数可设置的值很多 当设为LOGPIXELSY得到分辨率,
注意相同的字体在不同分辨率的设备上的大小是不同的!所以如果有调用DAWTEXT的方法的时候一定要先把设备的分辨率得一下!

GetSpecialPath(int index);//得到系统文件夹如PROGRAM FILES或者WINDOWS等文件夹的绝对路径。
注意在不同语言版本的WINDOWS MOBILE其系统文件夹的路径不一定都是WINDOWS,STARTMENU。如果用到这个最好是动态获得。

BOOL SystemParametersInfo( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni );//设置或者得到系统当前设置
比如得到系统的运行平台(PPC OR SP)这样用
BOOL IsPocketPC()
{
TCHAR tszPlatform[64];
if (TRUE == SystemParametersInfo(SPI_GETPLATFORMTYPE,
sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
{
if (0 == _tcsicmp(TEXT("PocketPC"), tszPlatform))
{
return TRUE;
}
}
return FALSE;
}

WINAPI DWORD GetModuleFileName( HMODULE hModule, LPWSTR lpFilename, DWORD nSize );//当HMODULE设为NULL时,得到当前程序路径,
不要假定自己的程序总是运行在你指定的目录下,用户有可能将其安装在MEMORY CARD上。如果不知道如何使用户能把程序安装在存储卡,可以参见我的第一篇博客!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: