问两个MFC在Win8平板上运行的有关问题

问两个MFC在Win8平板上运行的问题
1.如何判断当前的运行环境是PC还是平板?
2.如何调用平板操作系统的输入键盘?注意是输入法键盘,不是屏幕键盘osk.exe
关于输入键盘,如果我的程序不是全屏运行的话倒是可以点一下任务栏上的问两个MFC在Win8平板上运行的有关问题直接弹出并使用,问题是我的程序可以设置成全屏显示,所以全屏的时候无法用上述方法实现。平板的输入键盘如图:
问两个MFC在Win8平板上运行的有关问题

------解决方案--------------------
你的程序有输入框的时候,用户点击,会自动触发输入法的吧

------解决方案--------------------
表示不懂,MFC在平板上能用触摸屏吗?求知晓,呵呵。
------解决方案--------------------
一般单击输入都会触发的,你可以分别试试抓下消息看看!
系统的话,你可以GetVersionEx 试试看返回值
------解决方案--------------------
那你要是判断这个,就难了吧,看微软给你开放定义了没有??
------解决方案--------------------
SYSTEM_INFO siSysInfo;
 
GetSystemInfo(&siSysInfo);

dwProcessorType
An obsolete member that is retained for compatibility. Use the wProcessorArchitecture, wProcessorLevel, and wProcessorRevision members to determine the type of processor. 
PROCESSOR_INTEL_386 (386)PROCESSOR_INTEL_486 (486)PROCESSOR_INTEL_PENTIUM (586)PROCESSOR_INTEL_IA64 (2200)PROCESSOR_AMD_X8664 (8664)PROCESSOR_ARM (Reserved)
------解决方案--------------------
wProcessorArchitecture
The processor architecture of the installed operating system. This member can be one of the following values.


Value

Meaning

 PROCESSOR_ARCHITECTURE_AMD649 
x64 (AMD or Intel)
 
 PROCESSOR_ARCHITECTURE_ARMReserved 
ARM
 
 PROCESSOR_ARCHITECTURE_IA646 
Intel Itanium-based
 
 PROCESSOR_ARCHITECTURE_INTEL0 
x86
 
 PROCESSOR_ARCHITECTURE_UNKNOWN0xffff 
Unknown architecture.
 

------解决方案--------------------
判断CPU是否为ARM是一个思路
------解决方案--------------------
引用:
判断CPU是否为ARM是一个思路


ARM版本下能开发MFC程序?我没看错吧,有Win32 ARM版本的?
------解决方案--------------------
Use the Windows GetSystemMetricsAPI and pass in SM_TABLETPC as the value of the index. SM_TABLETPC is defined in Winuser.h. The value of SM_TABLETPC is 86.
------解决方案--------------------
引用:
Quote: 引用:

晕 我也在移植MFC程序到win8平板上 我想知道楼上移植的时候主要注意事项,我这里还没启动呢 ,只是让它简单的跑起来 ,除了界面部分 ,我觉得主要难点就是触控部分 这方面不知如何下手

没什么特别的注意事项。
触控就如同鼠标一样的,差不多,请看6楼
唯一不同的是平板没有外接键盘,所以我才发了这个帖子

手头没有win板,没法给你测试,以上我是查自msdn

------解决方案--------------------
引用:
Quote: 引用:

Use the Windows GetSystemMetricsAPI and pass in SM_TABLETPC as the value of the index. SM_TABLETPC is defined in Winuser.h. The value of SM_TABLETPC is 86.



int iIndex = GetSystemMetrics(SM_TABLETPC);

这样写?PC上的返回值是0啊,不知道平板上是多少,下次试试。。
这个函数只用过来取屏幕分辨率,敢问大侠上面那样写是什么目的?

GetSystemMetrics可不仅是用来取屏幕分辩率!