█求助█vc 休眠唤醒后 WINIO通讯错误!!!!!

lideming_1984 2009-11-25 03:21:17
我用VC 写了个程序,用WINIO读CPU温度,我在程序初始化时调用InitializeWinIo();对WinIo进行初始化.然后我用了一个定时器,每秒运行一次,在定时器里会调用到SetPortVal()GetPortVal()对WINIO进行操作.这些都好使了.
然后我把软件开着,打开另一个我写的休眠程序,让系统休眠,再把系统唤醒,
当系统从休眠状态唤醒时,软件就会有错误,是在调用SetPortVal()/GetPortVal()函数时跳出的错误.然后软件就关闭了.
我试着在OnTimer()里的最开始,填加ShutdownWinIo();InitializeWinIo();相当于每次都初始化WinIo,这样有时从休眠状态唤醒时,软件就没有错.但这样一是会卡,二是不稳定,我想知道为什么从休眠状态唤醒时,SetPortVal()/GetPortVal()就会出错.这样的问题应该怎样解决.
我想在OnTimer()的 最开始最一个判断,判断如果系统是在休眠状态唤醒时,ShutdownWinIo();InitializeWinIo();相当于初始化WinIo.可是我找了半天没发现有能判断系统是从休眠状态唤醒的方法.有这样的方法吗?
请遇到同样问题,或是明白的大狭帮帮忙.
尽量讲的清楚点.尽管分不多,还是请大家帮帮忙,谢谢.
...全文
108 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lideming_1984 2009-11-27
  • 打赏
  • 举报
回复
为什么休眠后就会出问题呢?等待解答........
lideming_1984 2009-11-26
  • 打赏
  • 举报
回复
顶.......................................
lideming_1984 2009-11-26
  • 打赏
  • 举报
回复
顶.......................................
lideming_1984 2009-11-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 laiyiling 的回复:]
去看WM_POWERBROADCAST消息,去判断他的wParam的值就是了
[/Quote]

是这个意思吗?但也只能是获取休眠的消息.系统唤醒了,怎么能知道.
if(message == WM_POWERBROADCAST && wParam == PBT_APMQUERYSUSPEND)
{
DormancyState = 1;
return BROADCAST_QUERY_DENY;
}
Kudeet 2009-11-26
  • 打赏
  • 举报
回复
去看WM_POWERBROADCAST消息,去判断他的wParam的值就是了
lideming_1984 2009-11-26
  • 打赏
  • 举报
回复
顶.......................................
一条晚起的虫 2009-11-25
  • 打赏
  • 举报
回复
// 帮顶
// WinIO很久不用了。
lideming_1984 2009-11-25
  • 打赏
  • 举报
回复
帮帮忙啊!~~~~~~~~~~~~~~

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧