6571|14

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

如何设定让wince系统在一定时间内没有操作就执行相应的动作? [复制链接]

如何设定让系统在一定时间内没有操作就执行相应的动作?我的系统包括按键和触摸屏,在网上搜到一个类似的问题,说是用EVENT,大概意思是将触摸屏中断和按键中断关联到一个事件上,并且这个事件可以跨进程访问,现在有2个问题:
1,CreatEvent函数只要最后一个参数相同就能在2个进程中访问吧,就是在2个进程里都CreatEvent,最后一个参数(EVENT 名字)相同,然后在其中一个进程里调用WaitForSingleObject,不知道我的理解是否正确;(我用Mutex实现了触摸屏和AD的护持,也是在2个进程建立同名的对象)
2,如何获取未操作时间?这个时间数据需要在触摸屏驱动,按键驱动,wince内核定时器3者之间共享;我目前想法是这样,定义一个全局变量,当有按键和触摸屏中断的时候清零该变量,然后在wince内核中断里一直累加该值,如果大到一定程度,则触发一个事件,但是怎么才能让这个变量在驱动和内核定时器中断里都能访问呢?顺便问下,wince内核脉搏中断处理函数在哪个文件里,S3C2440+WINCE 5.0

最新回复

如何开机打开一个已经载入的按键流驱动?按键采用中断方式,有一个检测线程;查了点资料,好像不能再Dllentry里启用wait,否则会死锁;该如何让流驱动自启动呢?修改source入口点为Init???好像不行  详情 回复 发表于 2010-4-8 12:04
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
其实你可以借用电源管理的功能,PM已经实现了一段时间内没有用户操作后就进入相应的状态。

如果你需要做自己的事情,可以在某个驱动里设置一个EVENT,在你的应用里等待这个EVENT就可以了。
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
EVENT事件是内核对象,因此所有的操作系统都可以访问、等待,只需要ID号一致即可;
可以在系统空间中申请一个全局变量即可,或者是内存映射文件
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
1,你所说的方法是对的。
2,可以参考背光驱动,线程等待PowerManager/UserActivity_Active事件,设置超时时间,等到PowerManager/UserActivity_Active事件就点亮背光,如果超时就关闭背光或者是你想要做的事。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

5
 
我想在驱动我的按键驱动里创建一个检测事件的线程,但是我的按键驱动需要打开才能执行,我能在DllEntry里创建吗?这个是函数加载的时候就执行的
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
另外请教下如何自动打开系统已经载入的流驱动?
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

7
 
在dllentry里调用init?成吗?
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
有意思
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(中级)

9
 
引用 6 楼 lth93 的回复:
在dllentry里调用init?成吗?

built in 的驱动都会自动执行init的
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 rushonin 的回复:
引用 6 楼 lth93 的回复:
在dllentry里调用init?成吗?

built in 的驱动都会自动执行init的


应用程序打开才会执行init,除非你在source里定义入口点未init,好像是这样吧
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 1 楼 sunrain_hjb 的回复:
其实你可以借用电源管理的功能,PM已经实现了一段时间内没有用户操作后就进入相应的状态。

如果你需要做自己的事情,可以在某个驱动里设置一个EVENT,在你的应用里等待这个EVENT就可以了。


恩,我就是这么做的

event 可以在多个驱动中使用。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 1 楼 sunrain_hjb 的回复:
其实你可以借用电源管理的功能,PM已经实现了一段时间内没有用户操作后就进入相应的状态。

如果你需要做自己的事情,可以在某个驱动里设置一个EVENT,在你的应用里等待这个EVENT就可以了。


恩,我就是这么做的

event 可以在多个驱动中使用。
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

13
 
while (1)
{
   ret = WaitForSingleObject(KeyDownEvent, DLYTIME);

    if(ret == WAIT_OBJECT_0)   //按键按下了
    {
             
    }

    else if(ret == WAIT_TIMEOUT)
    {
                     
    }        
          
}               
这样没问题吧,现在Timeout一次以后程序变的很慢,好像一直在占用cpu
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 11 楼 laiqingxiong 的回复:
引用 1 楼 sunrain_hjb 的回复:
其实你可以借用电源管理的功能,PM已经实现了一段时间内没有用户操作后就进入相应的状态。

如果你需要做自己的事情,可以在某个驱动里设置一个EVENT,在你的应用里等待这个EVENT就可以了。


恩,我就是这么做的

event 可以在多个驱动中使用。
在哪儿实现的?PDD里?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

15
 
如何开机打开一个已经载入的按键流驱动?按键采用中断方式,有一个检测线程;查了点资料,好像不能再Dllentry里启用wait,否则会死锁;该如何让流驱动自启动呢?修改source入口点为Init???好像不行
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
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
快速回复 返回顶部 返回列表