visi
驱动牛犊
驱动牛犊
  • 注册日期2002-08-07
  • 最后登录2009-06-30
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:3510回复:10

怎样在windows CE启动后自运行我的应用程序?

楼主#
更多 发布于:2003-07-25 15:04
我想把windows CE的界面去掉,也就是去掉标准的shell.让系统启动后看不到windows CE的开始菜单和桌面等,然后自动运行我的应用程序。我目前的情况是在标准的带CE界面的情况下,通过注册表文件添加如下代码:
lanuch80=\"myApplication.exe\"
depend80=hex:1E,00
但可以看到应用程序的启动,但是启动后马上自己就关闭了。
后来怀疑可能应用程序的加载过早,ce的还没有完全的初始化,在我的应用程序中加入了等待函数
while(IsAPIReady(SH_WMGR))
sleep(1000);
可是让然不起作用,在标准的shell下,不管是win32还是MFC的应用程序,都是启动后马上关闭。

如果我把Windows CE的shell换成taskman后,基于win32的应用程序可以实现自动加载,而且看不到ce的界面了,但基于MFC的程序仍然出现问题,启动后自动关闭,弹出一个内容为乱码错误的对话框。

不知道那位大虾做过这个OEM版的Windows CE的shell定做?
ccrj_006
驱动牛犊
驱动牛犊
  • 注册日期2003-08-20
  • 最后登录2003-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-10 16:03
hao ,dongdong ,ding
guqs77
驱动小牛
驱动小牛
  • 注册日期2003-05-22
  • 最后登录2007-07-30
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-22 10:40
taskman shell是什么东西,在哪儿可以找到它??

如何产生一个自己的shell呢??
dungeon_killer
驱动牛犊
驱动牛犊
  • 注册日期2002-05-10
  • 最后登录2005-12-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-31 17:37
按照各位所说的方法,参考PB帮助,我试过了,单单加入以下表项:
lanuch80=\"myApplication.exe\"
depend80=hex:1E,00
系统有时候运行正常,有时候就不能启动我的程序,现象就是程序的标题一闪而过,因此我怀疑是我的程序启动比taskman早,所以taskman启动的时候,将我的程序遮盖住了(这只是我的猜想),因此我通过remote registry viewer 看到taskman是 launch50,因此我把上面的表项改成:
lanuch80=\"myApplication.exe\"
depend80=hex:1E,00, 32,00
这里的32对应的就是50,然后编译一遍就行了,无论是PB的download还是制作成SDK启动,都能正常运行我的程序。
希望对大家有所帮助。
 :)
91ming
驱动小牛
驱动小牛
  • 注册日期2001-12-03
  • 最后登录2005-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-30 13:20
to tianyun:
在使用taskman的时候需要注意的一些事情,因为taskman这个shell的例程是没有桌面、开始菜单、任务栏、信号灯等等设备的,因此如果你是用这个shell你只能在注册表中强行加载你的应用运行,因为此时的startup目录仅是一个普通目录,没有和ce启动链接。
(注:我试着修改了一点taskman源代码,调用一个类似windows进程管理器的窗口,切换到了wince设备的window目录,确认了startup目录下确实已经有了我们希望自启动的程序。)
不断挖掘、开拓希望
tianyun
驱动牛犊
驱动牛犊
  • 注册日期2002-09-29
  • 最后登录2004-01-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-29 13:49
1、还要在project.bib文件里加入:
111.exe $(_FLATRELEASEDIR)\\111.exe NK S
111.lnk $(_FLATRELEASEDIR)\\111.lnk NK SH
111是应用程序名。
2、在project.dat文件里加入:
Directory(\"\\Windows\\Startup\"):-Fi(\"111.lnk\", \"\\Windows\\111.lnk\")


这个lnk文件不是必需的吧,你也可以直接用
Directory(\"\\Windows\\Startup\"):-File(\"111.lnk\", \"\\Windows\\111.lnk\")把111.exe
放到startup中,这样商店后,111.exe也会被
直接运行。
不过,为什么在taskman shell下,就不行了呢?
而且,我发现基于对话框模式编写的app是可以
放在taskman模式下运行,不过我采用的是
在注册表的
[HKEY_LOCAL_MACHINE\\init]键值下加入
\"Launch100\"=\"111.exe\"
不知是何故?
visi
驱动牛犊
驱动牛犊
  • 注册日期2002-08-07
  • 最后登录2009-06-30
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-28 10:11
感谢楼上的帮助
我的应用程序按照以上的方法已经可以在标准的shell上当系统启动后自动运行!
但是我想去掉windows CE的界面(标准的shell),windows CE启动后看不到开始菜单等,然后自动运行我的应用程序。我试着把标准的shell换成了Taskman shell,系统启动后看不见开始菜单等了,但是相同的配置我的应用程序又不能自动启动了,换成标准的shell后可以自动启动。
我怎样才能解决这个问题,去掉标准的shell,我希望WindowsCE的启动后界面开始菜单等不存在,只显示一个强纸,然后自动运行我的应用程序。
请各位大虾帮个忙!!
angeon
禁止发言
禁止发言
  • 注册日期2003-01-09
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1416分
  • 威望7080点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-28 09:33
用户被禁言,该主题自动屏蔽!
xinheng80
驱动牛犊
驱动牛犊
  • 注册日期2002-12-03
  • 最后登录2007-05-28
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望19点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-26 15:47
我这里有个附件,你可以参考一下。前面的数字是字符数。
此外,这两个文件要先放进BSP的Files文件夹里。:)
附件名称/大小 下载次数 最后更新
2003-07-26_111.lnk (1KB)  22
visi
驱动牛犊
驱动牛犊
  • 注册日期2002-08-07
  • 最后登录2009-06-30
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-25 17:02
多谢!不过我还没有成功,当用PB编译时,系统提示找不到myapplicaton.link文件。link文件是什么格式,在这里和你应用程序同名的link文件该怎么写?
xinheng80
驱动牛犊
驱动牛犊
  • 注册日期2002-12-03
  • 最后登录2007-05-28
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望19点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-25 16:23
1、还要在project.bib文件里加入:
   111.exe $(_FLATRELEASEDIR)\\111.exe NK S
   111.lnk $(_FLATRELEASEDIR)\\111.lnk NK SH
111是应用程序名。
2、在project.dat文件里加入:
    Directory(\"\\Windows\\Startup\"):-Fi(\"111.lnk\", \"\\Windows\\111.lnk\")
游客

返回顶部