最近在做基于Wince6.0的应用程序的开发,应用程序基本开发完毕,需要把程序烧写进内核。经过一段时间折腾,算是完成了任务,先总结如下:

wince6.0的应用程序烧写进内核方法与wince5.0修改的地方基本一致。这里需要说明,在\WINCE600\OSDesigns\S3C6410_DEM0\RelDir\Samsung_SMDK6410_Release里的操作前提是已经编译生成NK.bin。此时再修改增加新的应用程序,只需要Make Run-Time Image既可以把应用程序写进内核。不能sysgen,否则前功尽弃。

方法:

注:以下所有操作均在该路径下:\WINCE600\OSDesigns\S3C6410_DEMO\S3C6410_DEMO\RelDir\Samsung_SMDK6410_Release

1、将应用程序“ HelloWorld.exe ” 拷贝到该路径下:\WINCE600\OSDesigns\S3C6410_DEMO\S3C6410_DEMO\RelDir\Samsung_SMDK6410_Release

2、新建一个名为HelloWorld.txt 的文件里面填入以下内容:
10#\Windows\HelloWorld.exe
之后将该文件重命名为: HelloWorld.lnk

3、修改project.bib 文件,在FILE 下添加

HelloWorld .exe $(_FLATRELEASEDIR)\ HelloWorld .exe NK H
HelloWorld .lnk $(_FLATRELEASEDIR)\ HelloWorld .lnk NK H

4、修改project.dat 文件里添加
Directory("\Windows\Startup"):-File("HelloWorld.lnk","\Windows\HelloWorld.lnk")

5、修改shell.reg 在
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
后面添加
"Launch80"="HelloWorld.exe"
"Depend80"=hex:1e,00

6、以上操作, 即可在系统启动后, 自动运行“ HelloWorld.exe ” 了。

如果想不启动wince 桌面而直接运行应用程序的话。需要修改shell.reg 文件,将
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
修改为:
[HKEY_LOCAL_MACHINE\init]
"Launch80"="HelloWorld.exe"
"Depend50"=hex:14,00, 1e,00

经过以上步骤,打开VS2005,打开自己的wince6.0工程,make run-time image 即可生成 NK.bin。

以上步骤是借鉴,需要说明步骤5,修改注册表,

由于在应用程序中使用了多个对话框,并且利用 create()创建了多个子对话框,利用setwindowpos()设置对话框显示,在系统启动的时候出现问题:如果把程序设置成开机自启动,会出现debug assertion failed  winocc.cpp 的错误;但是把程序放进内核,等待系统启动完毕,打开应用程序,发现没有问题。

经过分析开机自启动自己应用程序,可能是系统另一个程序没有启动,自己应用程序要依赖那个程序才能运行,所以导致错误。至今不太清楚需要哪个程序启动,但知道启动wince的ie界面后再启动程序 就没有问题。

所以修改注册表为:

修改shell.reg 在
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
后面添加
"Launch80"="HelloWorld.exe"
"Depend80"=hex:32,00

这样就可以开机自启动程序,没有问题。说明:"launch80" 中80代表系统启动应用程序的顺序,由小到大依次启动,越大越后启动,数值0~99。关键是“Depend80“他说明80程序启动需要后面的32程序,32是十六进制,十进制为50,所以说明80对应的helloworld.exe的启动需要50对应的程序explorer.exe启动完,才能启动。

原文如下:

[HKEY_LOCAL_MACHINE\init]
"Launch20"="device.exe"      
"Launch30"="gwes.exe"      
"Depend30"=hex:14,00

内核启动时执行device.exe和gwes.exe 。“LaunchXX”中的XX为序列数,内核依据这个序列数按由小到大的顺序来分别执行所有子键列出的应用程序。“DependXX”为 “LaunchXX”的附属键,此键键值表示“LaunchXX”指定的程序需要依靠哪个程序才能启动。
例如“Depend30”=hex:14,00 。十六进制数14等于十进制数20,即:gwes.exe需要device.exe先启动后才能启动。

Wince 6.0 开机自启动 总结相关推荐

  1. WinCE 应用程序开机自启动方法( 修正版本)

    WinCE 应用程序开机自启动方法( 修正版本) 分类: wince 2011-04-06 19:20 50人阅读 评论(0) 收藏 举报 近日在开发过程中遇到WinCE应用程序开机自动运行的问题,在 ...

  2. Wince下定制开机自启动程序

    Wince下定制开机自启动程序 上网查了一下,发现相关的贴子还真是不少. 最近因公司的项目需要,我做了个简单的程序则试该功能. 用网上的很多方法发现是行不通的, 估计最初应该是可以用的, 然后大家都是 ...

  3. wince6.0开机自启动应用程序

    1.在VS2005下建立一个Win32智能设备项目,取名为ShellExe,编译如下代码: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPre ...

  4. delphi让exe开机自启动

    procedure AutoRunOnSystemStart(Title, FileName: String); const   _Software_Microsoft_Windows_Current ...

  5. RedHat7.0 设置weblogic开机自启动

    1 说明 设置开机自启动,需要用到systemctl工具. systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. systemd是一个系统管理守护进程.工具和库的集 ...

  6. 交叉编译使用 hostapd-2.0 在开发板上开机自启动无线网卡 AP 功能

    文章目录 交叉编译 使用 hostapd 使用 DHCP 分配 IP 查看状态 开机自启动 1. MDEV 配置文件 2. MDEV 执行的脚本 参考链接 交叉编译 tar xzf hostapd-2 ...

  7. android 6.0关闭开机启动器,Android实现开机自启动及开机自启动失败原因

    1.开机自启动实现代码 BroadcastReceiver开机自启动实现,MainActivity.class为自启动显示的页面. public class BootBroadcastReceiver ...

  8. Everest 0.6 添加开机自启动程序

            不知道什么原因,我的EVL0.6的K菜单里的"应用程序-系统-设置自启动程序"用不了,也许是我用的KDE4.2RC本身的BUG吧,因为我在原来的KDE3.X里是可以 ...

  9. android 6.0 开机自启管理,Android App 如何做到开机自启动

    Android 系统在完成启动后,会发射一个ACTION_BOOT_COMPLETED的广播,并且这个广播只有系统才能发送,来广播系统启动已完成,因此我们如果可以在APP内拦截这个广播的话,就可以让A ...

最新文章

  1. python调用zabbix api接口实时展示数据
  2. UVa12124 - Assemble(二分查找)
  3. 利用程序动态管理Web.config文件的配置
  4. WireShark过滤器选项
  5. 不同语言编译的程序入口总结
  6. 八个老师随机分配三个办公室
  7. CORS解决WebApi跨域问题(转)
  8. mfc中的.rc和.rc2出错fatal error RC1015: cannot open include file 'res\ModalD
  9. 【DP】HDU 2189 悼念512汶川大地震遇难同胞——来生一起走
  10. 图像处理软件Acorn for Mac如何创建新图像?
  11. Java 32位最新版 (Java SE 8)
  12. EMC RS485接口EMC电路设计方案
  13. import java.util错误_Java“import java.util.Scanner”无效
  14. 企业IT管理岗的首选认证:ITIL®4 Foundation
  15. Kali linux安装步骤,史上最详细的步骤,傻瓜式教学
  16. yox.js 的使用
  17. 南安一中八十年校庆征文 陈建春老师
  18. 手机建站系统php,zzzcms免费开源建站系统含手机
  19. 蓝牙BLE芯片PHY6222之GPIO按键操作
  20. 快速收集资料的一种方法

热门文章

  1. do msgbox loop_do第三人称单数形式怎么写
  2. stata如何将xls/xlsx数据转换为dta数据
  3. 看统计数据如何颠覆你的网络安全观,2017年第一季度IT威胁及演变
  4. 【华为OD机试真题 JS】流水线
  5. MATLAB对bfl形式的CAN数据处理
  6. 码妞问码仔:我到底该学啥?
  7. 期权系统开发 期权软件能月租短租吗?
  8. 201811找工作静态脱壳机效果演示
  9. 矢量切片(Vector Tile)
  10. 如何在windows下格式化linux,Linux、Windows/DO格式化怎么做?