wince wm 开发问题 求解
我现在用 vs2008 建的 wince 5.0平台的项目。
现在这个项目 想在 wince5.0-6.5 wm5.0-6.5下都可以跑。
请问会有什么问题,怎么解决 分辨率 的问题。
[解决办法]
1 有些函数WM支持但WinCE不支持,比如SHLoadImageFile函数。
而有些设计到硬件驱动或者底层OEM函数支持的API,可能WinCE支持而WM不支持。
这个要协调号。可以用些条件编译,对不同的系统做不同的工作。
如下面的代码,对于WM做了一个判断,只允许一个APP实例:
#if defined(WIN32_PLATFORM_PSPC) || defined(WIN32_PLATFORM_WFSP)
// If Windows Mobile, allow only one instance of the application. hWnd = FindWindow (szAppName, NULL);
if (hWnd) {
SetForegroundWindow ((HWND)(((DWORD)hWnd) | 0x01));
return 0;
}
#endif
2 对于分辨率问题。
拿VC应用程序为例,可以在WM_SIZE的消息处理函数中,获取屏幕分辨率,然后通过MoveWindow或者SetWindowPos函数调整对话框包括各个空间的大小和位置。这个不难,就是麻烦。