番茄系统家园 - 免费重装系统!简单装系统,人人都是装机大师!
当前位置:首页>Win7资讯 > wince 6 0

wince 6 0

来源:番茄系统家园浏览:时间:2021-07-18 09:45:12

wince 6 0

PC环境:WIN7(32)

开发板:+

      在开发板上做应用程序时,需要获取CPU,内存,系统等信息,首先想到函数,但是信息明显不够具体。于是打开开发板控制面板,再打开面板,有很详细的设备系统信息,正好可以参考一下。

但是,对源码目录不够清楚,不知道这些代码在哪里,怎么办?

1.找到目标应用程序

打开VS中的远程工具,进程查看器,

找到了,就是这个了。

2.查找应用程序源码

老办法,直接在安装目录查找,很傻很有用。很快就找到了源码目录。

为了方便,直接用史上最牛逼的代码查看工具将整个APP目录添加进去,以后还可以找别的代码用。

3.查找目标文件

直接无脑搜索,SOURCEINSIGHT同步完成后,直接在项目中搜索应用程序中,也就是图片上的关键字,如ProcessorType

第一个结果就可以明显的看出,正是我们要找的东西,和程序面板上完全吻合。

到了这里,估计我们需要的代码,就在Cplmain.cpp中了。

打开这个结果,查看具体信息。

这个已经够明显了,连对话框,包含的控件,显示的文字,全部都有,例如显示CPU信息的CSTATIC控件为IDC_STATIC_PROCESSOR。

4.查找关键代码

直接用IDC_STATIC_PROCESSOR来查找,肯定能找到所有获取并设置CPU信息的代码,也就是我们最终的目标代码。

很明显,前面我猜测的目标代码在Cplmain.cpp中,完全错误,伤心。

打开关键文件System.cpp就可以看到关键代码了,搞定。

OSVERSIONINFOosvi;TCHARszTemp[190];osvi.dwOSVersionInfoSize=sizeof(osvi);GetVersionEx(osvi);if(osvi.dwBuildNumber0){StringCbPrintf(szTemp,sizeof(szTemp),CELOADSZ(IDS_SYSTEM_VER_WITH_BUILD),osvi.dwMajorVersion,osvi.dwMinorVersion,osvi.dwBuildNumber);}else{StringCbPrintf(szTemp,sizeof(szTemp),CELOADSZ(IDS_SYSTEM_VER_WITHOUT_BUILD),osvi.dwMajorVersion,osvi.dwMinorVersion);}SetDlgItemText(hDlg,IDC_STATIC_VER_SYS,szTemp);//setProcessortypeSYSTEM_INFOsys_info;ZEROMEM(sys_info);GetSystemInfo(sys_info);PROCESSOR_INFOpro;DWORDcount;KernelIoControl(IOCTL_PROCESSOR_INFORMATION,NULL,0,pro,sizeof(PROCESSOR_INFO),count);lstrcpy(szTemp,pro.szVendor);if(pro.szVendor[0]!=NULL(pro.szProcessCore[0]!=NULL||pro.szProcessorName[0]!=NULL)){lstrcat(szTemp,TEXT(","));}lstrcat(szTemp,pro.szProcessCore);if(pro.szProcessCore[0]!=NULLpro.szProcessorName[0]!=NULL){lstrcat(szTemp,TEXT("-"));}lstrcat(szTemp,pro.szProcessorName);SetDlgItemText(hDlg,IDC_STATIC_PROCESSOR,szTemp);PostMessage(GetDlgItem(hDlg,IDC_STATIC_PROCESSOR),EM_SETSEL,0,0);//setRAMsizeDWORDPageSize,TotPages,StoreUsed,RamUsed,StorePages;GetMemoryInfo(PageSize,TotPages,StoreUsed,RamUsed,StorePages);StringCbPrintf(szTemp,sizeof(szTemp),CELOADSZ(IDS_SYSTEM_RAMSIZE),TotPages*PageSize);SetDlgItemText(hDlg,IDC_STATIC_RAM,szTemp);//setPNPcardinfoShowPNPInfo(hDlg);//setUserCompanydothisonWM_PAINTasitcanchangeOWNER_PROFILEOwnerProfile;GetOwnerInfo(OwnerProfile,NULL);//TruncatethestringsandappendellipsesistheyaretoolongSetTextWithEllipsis(DI(IDC_STATIC_USER),OwnerProfile.szName);HWNDhUserCompany=DI(IDC_STATIC_USER_COMPANY);if(hUserCompany)SetTextWithEllipsis(hUserCompany,OwnerProfile.szCompany);//Createthetooltipwindowforlongstringsg_hToolTip=CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hDlg,NULL,g_hInst,NULL);if(g_hToolTip){TOOLINFOti={0};ti.cbSize=sizeof(ti);ti.uFlags=TTF_IDISHWND|TTF_SUBCLASS|TTF_TRANSPARENT;ti.hwnd=hDlg;ti.lpszText=LPSTR_TEXTCALLBACK;ti.uId=(UINT)GetDlgItem(hDlg,IDC_STATIC_PROCESSOR);SendMessage(g_hToolTip,TTM_ADDTOOL,NULL,(LPARAM)ti);g_wndProcTT=(WNDPROC)SetWindowLong(g_hToolTip,GWL_WNDPROC,(LONG)SYS_ToolTipProc);ASSERT(g_wndProcTT);SetWindowLong(g_hToolTip,GWL_USERDATA,(LONG)hDlg);}AygInitDialog(hDlg,SHIDIF_SIPDOWN);SetFocus(GetDlgItem(hDlg,IDC_EXPANSION_CMB));

5.编写应用程序

5.1有了参考代码,照抄就容易多了,突然发现上班也是件开心的事情了。

于是包含头文件#includePkfuncs.h,复制粘贴编译。

居然出错了,找不到头文件#includePkfuncs.h,看来SDK中没有加入这个头文件。于是很暴力的把整个D:\WINCE700\public\COMMON\oak\inc里的文件

到D:\ProgramFiles\WindowsCETools\wce600\magellan\Include\Armv4i目录下,头文件找到了,结果却出现了一堆其他文件找不到的错误。回想一下,问题就很明显了,我装的是WINCE7.0的平台,用的SDK不是自己导出来的,是官方给的基于WINCE6.0的。

5.2更换SDK

    打开系统工程,之前已经编译过WINCE7.0的系统了,所以直接添加个SDK,编译,安装,很快搞定。

   测试SDK,用新的WINCE7.0SDK新建一个智能设备工程,直接编译,居然报错'lstrlenW':isnotamemberof'ATL,查了一个,是WINCE7和6的ATL等库的差别导致的,于是安装补丁VisualStudioDeviceWindowsEmbeddedCompact7.msi,记得用管理员权限装哦。下载地址:http://support.microsoft.com/kb/2468183。重启机器,错误还在,再谷哥,发现还有个地方要设置,在应用程序中,手动加入新的ATL目录文件。工程属性-c/c++-general-additionalincludedirectories增加D:\ProgramFiles\MicrosoftVisualStudio9.0\VC\ce7\include和D:\ProgramFiles\MicrosoftVisualStudio9.0\VC\ce7\atlmfc\include。这两个目录都是安装ATL补丁后产生的。错误果然没有了,除了一大堆警告,直接无视。

6.程序运行

     到这里,问题都解决了,自己程序中,也能正常获取信息了,以后有类似的需求,还可以用同样的方法,从系统自带的应用中找解决办法。

相关阅读

  • 两种方法教你如何把win10桌面换成类似win7!
  • iai2ce.sys win7
  • wince 6 0
  • 推荐系统

    • 雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载

      雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载64位
      系统大小:0MB系统类型:WinXP

      雨林木风在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业知名品牌,雨林木风WindowsXP其系统口碑得到许多人认可,积累了广大的用户群体,是一款稳定流畅的系统,雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载,有需要的朋友速度下载吧。

      系统等级:
      进入下载 >
    • 萝卜家园win7纯净版 ghost系统下载 x64 联想电脑专用

      萝卜家园win7纯净版 ghost系统下载 x64 联想电脑专用64位
      系统大小:0MB系统类型:Win7

      萝卜家园win7纯净版是款非常纯净的win7系统,此版本优化更新了大量的驱动,帮助用户们进行舒适的使用,更加的适合家庭办公的使用,方便用户,有需要的用户们快来下载安装吧。

      系统等级:
      进入下载 >
    • 雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载

      雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载64位
      系统大小:1.01GB系统类型:WinXP

      雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载,雨林木风WinXP系统技术积累雄厚深耕多年,采用了新的系统功能和硬件驱动,可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,加固了系统安全策略,运行环境安全可靠稳定。

      系统等级:
      进入下载 >
    • 萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载

      萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载64位
      系统大小:0MB系统类型:Win10

      萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,(win10企业版,win10 ghost,win10镜像),萝卜家园win10企业版 免激活密钥 激活工具 ghost镜像 X64位系统下载,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园

      系统等级:
      进入下载 >
    • 萝卜家园windows10游戏版 win10游戏专业版 V2023 X64位系统下载

      萝卜家园windows10游戏版 win10游戏专业版 V2023 X64位系统下载64位
      系统大小:0MB系统类型:Win10

      萝卜家园windows10游戏版 win10游戏专业版 ghost X64位 系统下载,萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园win10国内镜像版,基于国内用户的习惯,做

      系统等级:
      进入下载 >
    • windows11下载 萝卜家园win11专业版 X64位 V2023官网下载

      windows11下载 萝卜家园win11专业版 X64位 V2023官网下载64位
      系统大小:0MB系统类型:Win11

      萝卜家园在系统方面技术积累雄厚深耕多年,windows11下载 萝卜家园win11专业版 X64位 官网正式版可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,使得软件在WINDOWS11系统中运行得更加流畅,加固了系统安全策略,WINDOWS11系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。

      系统等级:
      进入下载 >