技术开发 频道

如何修改Windows CE的平台类型

  为了少写代码,我们选择”Hello World” application,一般情况下,我们应该选择simple Windows Embedded CE application.

  我们打开Subprojects节点中的CheckPlatform(工程名称)中的Source files节点中找到CheckPlatform.cpp文件。在文件中找到WndProc函数,将代码修改为:

TCHAR szPlatform[1024];
switch (message)
{
case WM_PAINT:
hdc
= BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd,
&rt);
if (SystemParametersInfo(SPI_GETPLATFORMTYPE,sizeof(szPlatform),szPlatform,0)!=0)
{
DrawText(hdc, szPlatform, _tcslen(szPlatform),
&rt, DT_CENTER);
}
EndPaint(hWnd,
&ps);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}

 

  代码写的并不好,主要是为了验证SystemParametersInfo函数,我们就将Platform. Type显示到窗体上了。正常情况下,我们应该用下面的代码判断运行平台:

if (SystemParametersInfo(SPI_GETPLATFORMTYPE,sizeof(szPlatform),szPlatform,0)!=0)
{
if (lstrcmp(szPlatform,TEXT("PocketPC"))==0)
;
// Pocket PC
else if (lstrcmp(szPlatform,TEXT("Smartphone"))==0)
;
// smartphone
}

 

  如果使用SPI_GETOEMINFO参数,我们可以获得OEM信息,如果返回字符串中包括“Microsoft DeviceEmulator”,则表示当前应用程序运行在模拟器中。

0
相关文章