12787|17

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE 上的程序 无法强制关闭 [复制链接]

WinCE系统拔出SD卡以后,在上面运行的程序并读取上面的文件就会失去响应,而且无法关闭(TerminateProcess无法关闭)。
怎样修改程序才能避免(在拔卡时)出现无法关闭的情况。

最新回复

然而, exe/dll是从文件映射到内存的, (如果装载的时候,没有复制到物理内存,) 拔卡以后,系统很可能会做上述没有意义的事情: 尝试从卡上“读取”exe/dll文件。 这种情况下,会出现什么结果呢?   详情 回复 发表于 2010-1-13 17:03
点赞 关注

回复
举报

89

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你可以通过开发工具中自带的进程管理器来关闭不响应的程序,它的功能和XP下的任务管理器的功能一样;如果你的开发工具为EVC+SP4,那么你可以使用“工具”菜单下的Remote Process Viewer子项来关闭不响应的程序…通过程序修改不太清楚,学习一下+友情帮顶…
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
SD卡都拔掉了 还能打开上面的文件吗?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
读不到文件就不读取就退出好了.
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
对文件的读操作,做一些修改。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 yashi 的回复:
对文件的读操作,做一些修改。

这样最简单
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
插入 卡 以后 程序在上面运行, 而且(读写)卡 上面的文件。
在此过程中拔掉 卡, 程序就会失去响应。 用 进程管理器 也无法关闭。

不只是我写的程序, 好多软件都是这样。
比方说: 一些知名的导航软件。

 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

8
 
有些时候,如果在读写卡上文件的时候 拔卡。CE系统也会down 机。
我不知道为什么会这样。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
是不是sd驱动的错误。
如果是sd驱动的错误, 原因是什么?

 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

10
 
应该不是SD驱动的错误,感觉就是你应用的问题。

帮顶下。我也学习下。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
是不能关闭,这个要从程序本身入手

在程序检测到SD卡拔出时,自己关闭. 现下PND上的导航软件,大都具有这具功能.
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

12
 
在SD协议栈里面,不是SD主控制驱动所做的事情,,,这部分在客户端驱动与总线驱动里面去处理,,,所以,LZ出现这个现象,并不代表问题就在这个地方的
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
“现在PND上的导航软件,大都具有这个功能.”

有谁研究过这个功能是怎样做的吗?

 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

14
 

系统在装载exe与dll的时候,是通过内存映射的方式来把exe/dll内容映射到内存。
在装载的时候,可以用pe section的标志位来控制:
是把exe/dll的内容复制到物理内存,
或者不全部复制,用到的时候再从文件来访问。


现在遇到的情况是:
如果,
修改pe section的标志位,使得在装载的时候,把exe/dll的内容复制到物理内存,
程序就能正常退出。
不过,
占用的物理内存比较多。

除了这样做(修改pe section),还有没有其它办法?

欢迎各路高手提供帮助!
无尽感谢!

 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

15
 
还是程序的问题,建议更改程序对文件的操作方式
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

16
 
严格地讲:
“程序就能正常退出。”
是不对的。

我说的意思是:程序至少能够被kill掉,
而不至于变成连TerminateProcess也消除不了的zombie进程。

 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

17
 
我的想法是:拔卡以后再去调用读写文件(文件在卡上)的函数是没有意义的。

所以需要设置一个全局的标志位,拔卡以后进行设置。
所有读写文件的函数,在调用之前,要检查拔卡标志位。

如果已经拔卡,就不再读写。

 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

18
 
然而, exe/dll是从文件映射到内存的,
(如果装载的时候,没有复制到物理内存,)

拔卡以后,系统很可能会做上述没有意义的事情:
尝试从卡上“读取”exe/dll文件。

这种情况下,会出现什么结果呢?

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表