详解基于WINCE.NET4.2系统的PDA使用PPC2003软件

时间:2011-09-04

  PPC2003是基于WINCE.NET4.x的一个高度定制化版本,Windows CE .NET具备完整的操作系统特性集包和端对端开发环境,它包括了创建一个基于Windows CE的定制设备所需的一切,例如:强大的联网能力、强劲的实时性和小内存体积占用以及丰富的多媒体和Web浏览功能。WINCE3.0以后的版本因为使用了。NET FRAMEWORK所以统称为WINCE.NET4.X,也就是说WINCE.NET4.2跟PPC2003的底层是高度兼容的,PPC2003只是增加了一些比较特殊的组件。

  思路就是只要找到这些组件(一般是DLL文件),把它们拷贝到系统里就可以了。

  但是找DLL文件比较麻烦,我开始是使用EVC 的进程查看器来查询某个软件会调用哪些DLL文件,但是多数PPC2003的软件运行找不到所需组件就会自动终止进程,我在以前的文章里找到一个可以查看运行程序所需DLL的软件。参考了这个帖子:

  【s3上软件…】

  【https://www.hi-pda.com/forum/viewthread.pHP?fpage=1&tid=206057】,

  只要确定出需要的DLL文件来,然后从其他PPC2003的系统里把需要的DLL文件拷贝过来即可。

  下面介绍详细的过程:

  一、需要准备的软件

  1、EVC 4.0,这个很重要,EVC的环境里提供了一些有用的工具,比如说截图程序,进程查看器(这个重要,可以在PC端终止一些意外的程序,让你在试验的时候减少RESET的次数)等等,另外有了这个环境你也可以自己编译一些简单的程序,增加对PDA系统的了解;

  2、ULTRAEDIT,这个是用来修改软件的,也比较重要。

  3、ROMDump(PDA上运行)和dumprom(PC上运行)--注意区别

  ROMdump用来把PDA上的ROM抓取出来,抓出来的ROM是一个BIN文件,dumprom用来解开抓取出来的ROM文件,得到终的DLL文件,我们起码需要两个ROM文件,一个是我们自己WINCE.NET4.2系统的ROM文件,用来备份;另一个是一个基于PPC2003系统的PDA的ROM文件,用来提供我们的WINCE.NET4.2缺少的DLL文件;

  4、相关的DLL集合,

  包括doclist.dll,mfcce300.dll,noteprj.dll,olece300.dll(前四个是支持HPC运行PPC软件的DLL),gapinet.dll,gx.dll(这个比较重要,用来支持一些图形函数),cecore.dll,sdl.dll(这个类似于DIRECTX),aygshell.dll(这个文件WINCE.NET4.2也有,不过版本不同,不建议替换),kctrl.dll,vbscript.dll,这些都DLL比较重要,有些软件只要把它们拷贝到系统里就可以运行了;

  5、ExecutabilityCheck(PDA上运行),这个软件是用来检查某个软件需要哪些DLL文件。

  二、基本操作流程:

  1、把一中提到的相关DLL文件拷贝到你的PDA上的/windows目录下,有些软件就可以运行了;

  2、有些需要安装的软件在安装时会弹出窗口提示:无法安装,这时需要修改CAB文件,运行ULTRAEDIT打开安装的CAB文件查找个“110A”,找到后用“2007”替换,这样就可以安装了,是参考这篇帖子:

  【在SIII上使用HPC2000的软件方法】

  【https://www.hi-pda.com/forum/viewthread.php?tid=211627&fpage=2】;

  3、有很多软件没有单独的安装CAB文件,可以参照HI-PDA里的这篇帖子:

  【教你如何得到程序的cab文件】

  【https://www.hi-pda.com/forum/viewthread.php?fpage=1&tid=147177】

  找到它的CAB文件,然后再按照第2步的做法去修改,这样处理以后大多数的PPC2003软件都可以安装在WINCE.NET4.2里了,需注意的是有些软件安装会在自己的目录里拷贝一个低版本的gx.dll(大小为8.5k),这样会导致PDA的/windows下的gx.dll(大小为11k)不被调用,有时会引起花屏,解决的办法是把你的PDA里的/program files/xxx目录下(xxx是你安装的软件)的gx.dll删除;

  4、很多软件经过以上的步骤就可以运行了,剩下不能运行的一般会提示:找不到组件,这时ExecutabilityCheck就出场了,先把它拷贝到你的PDA上,然后通过它来调用你要运行的软件,它会告诉你这个软件在调用哪些DLL时没有找到,记下这些DLL文件的名字,按图索骥把它们拷贝到你的PDA里,一般即可;

  5、用步骤一里提到的ROMDump(PDA上运行)和dumprom(PC上运行)取得你需要的DLL文件,ROMDump使用很简单,直接拷贝到你的PDA上,然后在控制面板里调整一下存储空间,空出32M来,直接运行即可。我有一篇帖子:

  【超级程序:ROMDump 可以抓取大多数PPC的ROM的软件(附源代码)】

  【https://www.hi-pda.com/forum/viewthread.php?fpage=1&tid=211821】

  讲过这个软件的用法,建议大家那个我编译过的32M版本的,关于如何使用dumprom,HI-PDA里有文章说得很详细,可以参考

  【ROM的秘密在这里】

  【https://www.hi-pda.com/forum/viewthread.php?fpage=1&tid=144955】,

  6、大多数的PPC2003软件经过这么处理应该可以在你的WINCE.NET4.X上运行了。

  三、其他的例外

  通过以上的处理,相信大多数的PPC2003的软件都可以运行了,一般不能运行的情况可能是:

  软件调用同名的DLL文件,但这些DLL的版本不同,且无法替换,因为你的WINCE.NET4.2系统也要调用它们,一旦替换了这些DLL文件你的PDA系统就要出问题,例如:asyshell.dll在wince.net4.2里跟在PPC2003里就不一样,其实这样的软件也可以解决,就是换一个可以既提供WINCE.NET4.2系统调用,也可以提供软件调用的DLL,不过需要对wince.net4.2系统很了解然后对那个软件也很了解才能搞定。

  据了解,此款基于WINCE.NET4.2的HAP200A跟基于LINUX系统的HAPO200硬件完全一样,也就是说这款PDA既可以刷WINCE.NET,也可以刷LINUX,不过东集现在还没有提供刷LINUX的工具跟LINUX的ROM,不知道他们将来是否提供,如果提供的话,这款机器可是有很高DIY价值的。

  注意:在拷贝你的PDA里的系统DLL文件时,如果有同名文件提醒是否替换时请谨慎操作,很可能会引起重启。



  
上一篇:开关变压器第十讲 解析单激式变压器内部损耗
下一篇:分享我的WindowsCE.net 4.2目录经验

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料