如何让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上。如果不知道如何使用户能把程序安装在存储卡,可以参见我的第一篇博客!
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上。如果不知道如何使用户能把程序安装在存储卡,可以参见我的第一篇博客!
相关文章推荐
- 如何让WINDOWS MOBILE的项目支持更多设备。
- 《如何开放你的项目,获得更多“援助者”的支持》
- 《如何开放你的项目,获得更多“援助者”的支持》
- 如何在Android的ListView中构建CheckBox和RadioButton列表(支持单选和多选的投票项目示例)
- 服装ERP研究(九):DRP项目结束后如何配置支持小组
- 服装ERP研究(九):DRP项目结束后如何配置支持小组
- 如何编译ffmpeg以支持dshow设备
- 将支持更多智能设备 MeeGo1.3最快年底发
- tomcat8热部署配置--maven自动发布项目到tomcat8(如何支持远程访问部署)
- Make ADB To Support Android Devices(如何使ADB在Linux下支持Android设备的udev规则配置)
- MSDN-如何支持的 Windows 资源管理器树中的项目重命名
- Scrum项目如何获得管理层的支持和合作
- 如何解决VS2008创建智能设备项目,编译较慢
- vs2005环境中移动设备项目没有Windows Mobile 5.0的解决办法
- TensorFlow团队如何管理和支持开源项目——在开源社区帮助下改进软件需要耐心和良好的组织
- 展讯7731平台如何开启对自带电源的USB 设备的OTG功能支持
- 如何获取Android设备所支持的传感器种类
- 类库项目如何既能支持netcore2.0,也能支持net4.5
- 如何在 Windows Mobile (WinCE 5.0) 中用Vc++编程查找并连接周围的蓝牙(Bluetooth)设备并实现数据通信
- 如何编译ffmpeg以支持dshow设备