标题:BindEvent 截获休眠恢复事件问题
只看楼主
isealer
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:33
专家分:110
注 册:2017-8-25
结帖率:75%
已结贴  问题点数:20 回复次数:3 
BindEvent 截获休眠恢复事件问题
代码如下图,BindEvent()截获笔记本从休眠状态恢复事件,用于刷新日期。
平时正常运行,但是有一定概率无法截获休眠恢复事件,
大概是10~15次出现一次截获不到,请问这是什么原因造成的?

搜索更多相关主题的帖子: 截获 恢复 事件 概率 原因 
2018-08-29 09:21
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
Win10测试用BINDEVENT()没截获到WM_POWERBROADCAST消息
测试代码:
DECLARE LONG SetSuspendState IN PowrProf.dll LONG, LONG, LONG
#DEFINE WM_POWERBROADCAST    0x0218
#DEFINE PBT_APMRESUMEAUTOMATIC    0x12
of = CREATEOBJECT("myForm")
of.show(1)
RETURN

DEFINE CLASS myForm as Form
    ADD OBJECT cmd1 as commandbutton WITH top=10,left=10,height=22,caption="挂起"
    ADD OBJECT cmd2 as commandbutton WITH top=10,left=120,height=22,caption="休眠"
    ADD OBJECT edit1 as editbox WITH top=40,left=10,height=200,width=200

    PROCEDURE init
        BINDEVENT(this.hWnd, WM_POWERBROADCAST, this, "powerbroadcast")
    ENDPROC

    PROCEDURE cmd1.click
        SetSuspendState(0,0,0)
    ENDPROC

    PROCEDURE cmd2.click
        SetSuspendState(1,0,0)
    ENDPROC

    PROCEDURE powerbroadcast(hWnd, uMsg, wParam, lParam)
        this.edit1.seltext = "Msg:"+TRANSFORM(uMsg)+" Param:"+TRANSFORM(wParam)+0h0D0A
    ENDPROC
ENDDEFINE
2018-08-29 16:34
isealer
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:33
专家分:110
注 册:2017-8-25
得分:0 
吹版,WIN7用不起来
还有这个偶尔截获不到是不是无解?
2018-08-29 17:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
以下是引用isealer在2018-8-29 17:16:52的发言:

吹版,WIN7用不起来
还有这个偶尔截获不到是不是无解?

本想测试一下,还未截获到WM_POWERBROADCAST消息,不知与电源管理设置有无关系。
2018-08-30 07:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-489489-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.280844 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved