如何用WinCE模拟器打开一个简单的应用程序

如何用WinCE模拟器打开一个简单的应用程序,第1张

一、打开WinCE模拟器

启动Visual Studio 2008

在菜单栏里:工具->连接到设备,d出“连接到设备”这个界面,在“平台”下拉列纳握表里面选择为“Windows CE”,之后在显示出来的列表中选择“Pocket PC 2003 SE 仿真程序”,然后点击“连接”按钮。截图如下:

连接成功后,就d出了仿真模拟器的界面,界面完全就是一个掌上电脑,很不错哦!截图如下:

二、设置WinCE仿真模拟器的属性

如果想要上网,你一定要先装上Virtual PC 2007 setup.exe,然后再重新连接模拟器。Virtual PC直接装完就OK了,无需对其进行任何设置。

1、设置共享文件夹

单击模拟器界面中的菜单栏:文件->配置,在“仿真程序属性”界面中,“常规”选项卡里面,选择你的“共享文件夹”的目录。然后确定即可,最后要插入底座才生效哦。截图如下:

2、设置网络

再提一下,先要装Virtual PC 2007。(好啰嗦……呵呵)

进入“仿真程序属性”界面的“网络”选项卡,勾上“启用NE2000 PCMCIA网络适配器并绑定到”,下拉列表中选择“数据包计划程序微型端口”。确认即可,最后要插入底座才生效哦。当然,你还要在模拟器中设置网络连接的属性才能上网,一洞羡庆定要看完再 *** 作哦!

截图如下:

3、设置串口、耳机等

进入“仿真程序属性”界面的“外围设备”选项卡,勾上相应的选项即可。截图如下:

4、插入底座,使设置生效

在VS2008的菜单栏中,工具->设备仿真器管理,右击你目前正在用的“Pocket PC 2003 SE 仿真程序”,选择“连接”,然后再次右击,选择“插入底座”,现在你的模拟器就可以使用你的电脑上的那些网络、串口、耳机等资源了。截图如下:

5、设置WinCE模拟器中的网络连接属性

在WinCE模拟器界面中,开始->设置,选择下面的“连接”选项卡,单机“网卡”,在“我的网卡连接到”选项卡中选择“默认Internet设置”,并在其下的列表中选择“NE2000兼容Ethernet驱动程序”,然后选择“使用服务器分配的IP地址”,单击右上角的OK。最后,打开模拟器里面的IE,点击一个天线状的图派仔标,选择网卡连接到“默认Internet设置”,然后你就可以上网了。

wince6.0模拟器安装使用教程:

1.把软件下载解压后得到目录

2.双击运行Skin_800X480.BAT

3.点击如孙文件-配置

4.点击红色箭头中的...,再选择一个文件夹,这时候文件夹里面放的就是你的地图,文件夹可以随便放在哪里都可以,再点确定。

5.运行我的设备。

6.因为第二步和第三步的配置我的设置里面就会有个SDMMC盘,现在给水印遮住了,SDMMC就相当于你导航里面的一个SD卡或者说是导航仪的内置卡,双击打开SDMMCC。

7.第二步和第三步设御缓置的目录里面的要模似的地镇橡模图和程序了。再后面就不用说了吧,不要和我说你没用过导航仪,此软件优点运行速度比,缺点就是每次模似地图都要配置第二和第三步。

WINCE系统启动直接运行自己的程序

1.假定Windows CE.NET目标工程目录为D:\WINCE420\PUBLIC\MyWinCE,并且工程已经Build成功,假定Windows CE.NET的应用程序为MyApp.exe; 2.将MyApp.exe复制到

D:\WINCE420\PUBLIC\MyWinCE\SAMSUNG_SMDK2410_ARMV4Release目录下; 3.修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:

MyApp.exe $(_FLATRELEASEDIR)\MyApp.exe NK H

4.创建快捷方式文件MyApp.lnk,文销则基件内容如下: 10#\Windows\MyApp.exe MyApp.lnk文件也放入

D:\WINCE420\PUBLIC\MyWinCE\SAMSUNG_SMDK2410_ARMV4Release目录下; 5.修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:

MyApp.lnk $(_FLATRELEASEDIR)\MyApp.lnk NK H

6.修改MyWinCE工程的project.dat文件,添加如下内容:

Directory("\Windows\Startup"):-File("MyApp.lnk","\Windows\MyApp.lnk")

7.修改MyWinCE工程的platform.bib文件,在FILES Section添加如亏谨下内容:

MyApp.exe$(_FLATRELEASEDIR)\MyApp.exeNKH

MyApp.lnk$(_FLATRELEASEDIR)\MyApp.lnkNKH

8.Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)

9.成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。

虽然MyApp可以自己启动了,但每次启动的时候,总是微软的桌面先出来,再启动我们的程序,感觉还是不伦不类。对此,我们可以使用startup的快捷方式再加上隐藏任务栏的方法,效果非常的好,具体 *** 作是:

1)首先新建工程,把你的应用程序放到内核里面去(前面介绍了如何做);

2)编译平台;

3)修改shell.reg的文件:在文件中有这样一行: [HKEY_LOCAL_MACHINE\init] "Launch50"="explorer.exe" "Depend50"=hex:14,00, 1e,00

把这个explorer.exe改成你的应用程序(比如:MyApp.exe)就可以了; 4)Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)

var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script)

5)成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。

WinCE 应用程序开机自动运行的又一种方法

发布日期:2007-5-24 9:29:21 作者:未知 出处:不详

近日在开盯键发过程中遇到WinCE应用程序开机自动运行的问题,在网上找了找,发现大概有以下三种方法:

1、 将应用程序和应用程序快捷方式添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行;

2、 直接替换Wince的SHELL,即修改注册表:

[HKEY_LOCAL_MACHINE\init] "Launch50"="explorer.exe" "Depend50"=hex:14,00, 1e,00

把这个explorer.exe改成你的应用程序(比如:MyApp.exe);

3、 把应用程序加入到映像,修改注册表:

[HKEY_LOCAL_MACHINE\init] "Launch80"="MyApp.exe" "Depend80"=hex:1E,00

可以设置启动顺序和依赖程序;

以上方法都可行,但是都存在一个问题,就是应用程序是集成到NK里面的,也就是说每次升级应用程序都要重新编译下载内核,很麻烦,尤其在程序调试阶段,大家都希望把应用程序放在SD卡上,这样更新起来比较容易;据说通过第三种方法可以实现,即修改"Launch80"="MyApp.exe"为

"Launch80"="\STDCard\MyApp.exe"( STDCard为SD卡目录),但是我试了一下没有成功,因为Launch80运行时SD卡的文件驱动还没有加载,找不到MyApp.exe

var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script)

文件。同样,采用快捷方式加载SD卡里的应用程序也不可行。

所以我采用了另一种方法,自己编了一个小程序,比如叫ShellExe.exe,将此程序加入到映像里,通过StartUp快捷方式调用ShellExe,ShellExe再去调用SD卡里的应用程序,具体实现步骤如下: 1、 在eVC下编译如下代码:

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTRlpCmdLine, int nCmdShow){ WIN32_FIND_DATA fdHANDLE hd=INVALID_HANDLE_VALUEint iCount = 20while(iCount--) { hd=::FindFirstFile(lpCmdLine,&fd) Sleep(500) if(INVALID_HANDLE_VALUE!=hd) break} if(0==iCount) return 0FindClose(hd)SHELLEXECUTEINFO ShExeInfo={0}ShExeInfo.cbSize=sizeof(SHELLEXECUTEINFO)ShExeInfo.fMask=SEE_MASK_NOCLOSEPROCESSShExeInfo.hwnd=NULLShExeInfo.lpVerb=NULLShExeInfo.lpFile=lpCmdLineShExeInfo.lpParameters=L""ShExeInfo.lpDirectory=NULLShExeInfo.nShow=SW_SHOWShExeInfo.hInstApp=NULLShellExecuteEx(&ShExeInfo)return 0}

生成ShellExe.exe的可执行文件,此段代码主要功能是查找指定的应用程序,然后执行;下面这段代码可以保证在SD卡文件系统正确加载后才去执行应用程序;

while(iCount--){ hd=::FindFirstFile(lpCmdLine,&fd)Sleep(500)if(INVALID_HANDLE_VALUE!=hd) break} 文件的名称和路径由命令行参数指定: ShExeInfo.lpFile=lpCmdLine

2、 新建一个快捷方式,如Autorun.lnk,按如下方式编辑其内容:

21#\windows\shellexe.exe \stdcard\MyApp.exe 其中\stdcard\MyApp.exe应用程序的绝对路径;

3、 将MyApp.exe和Autorun.lnk添加到NK里,方法是在project.bib文件内加入如下内容:

ShellExe.exe f:\WINCE420\PBWORKSPACES\LioetEnTer\RelDir\ShellExe.exe NK SAutorun.lnk f:\WINCE420\PBWORKSPACES\LioetEnTer\RelDir\Autorun.lnk NK S

注意:ShellExe.exe的属性不能带H(隐藏).

4、 在project.dat里加入如下内容:

Directory("\Windows\Startup"):-File("Autorun.lnk","\Windows\Autorun.lnk")

5、 选择Make Image生成映像(当然Build也可以,就是慢点儿),烧到FLASH里,开机运行,可以看到SD卡里的MyApp.exe被正确执行。

总结

这种方法用起来比较方便,ShellExe.exe不用每次都重新编译,只要根据应用程序路径修改Autorun.lnk即可,可以加载Flash、U盘、SD卡里的应用程序。调试及升级应用程序就不用重新烧写内核了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8266118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存