wince关闭屏幕失败的问题

nolatestudy 2011-05-31 05:25:13
os需要加哪些驱动等才能满足调用ExtEscape关闭屏幕,应用层代码大致如下:

#define QUERYESCSUPPORT 8
#define SETPOWERMANAGEMENT 6147
#define GETPOWERMANAGEMENT 6148
typedef enum _VIDEO_POWER_STATE {
VideoPowerOn = 1,
VideoPowerStandBy,
VideoPowerSuspend,
VideoPowerOff
} VIDEO_POWER_STATE, *PVIDEO_POWER_STATE;

typedef struct _VIDEO_POWER_MANAGEMENT {
ULONG Length;
ULONG DPMSVersion;
ULONG PowerState;
} VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT;

bool CloseOpenScreen(bool bOpen)
{
HDC gdc;
int iESC=SETPOWERMANAGEMENT;

gdc = ::GetDC(NULL);
if (ExtEscape(gdc, QUERYESCSUPPORT, sizeof(int), (LPCSTR)&iESC, 0, NULL)==0)
{
::MessageBox(NULL,L"Sorry, your Pocket PC does not support DisplayOff",
NULL,MB_OK);
return false;
}
else
{
VIDEO_POWER_MANAGEMENT vpm;
vpm.Length = sizeof(VIDEO_POWER_MANAGEMENT);
vpm.DPMSVersion = 0x0001;

if (!bOpen)
{
vpm.PowerState = VideoPowerOff;
}
else
{
vpm.PowerState = VideoPowerOn;
}
int nRes = ExtEscape(gdc, SETPOWERMANAGEMENT, vpm.Length, (LPCSTR) &vpm,
0, NULL);

RETAILMSG(1, (L"\n====ExtEscape open=%d, nres = %d, error=%d====\n", bOpen, nRes, GetLastError()));
::ReleaseDC(NULL, gdc);

if (nRes <= 0)
return false;
else
return true;
}
}

目前我编译的系统(prima平台wince6.0),调用以上函数时,关闭屏幕,第一次调用ExtEscape查询是否支持,返回非0说明支持此函数,但下一步调用关闭屏幕,就失败了,返回0, GetLastError为2。

请问,系统缺少什么东西,导致这个函数调用失败?
...全文
157 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nolatestudy 2011-06-21
  • 打赏
  • 举报
回复
没深入进去为何不能支持这两个参数,但可以支持VideoPowerStandBy,VideoPowerSuspend这两个参数。估计是微软提供的lib中把VideoPowerOn, VideoPowerOff过滤了,有待检验!

nolatestudy 2011-06-08
  • 打赏
  • 举报
回复
都没弄过吗?还是少了顶的人,帖子沉下去没人看到了?
xxeeppaa 2011-06-08
  • 打赏
  • 举报
回复
我也想知道啊,有现成的函数就最好
nolatestudy 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 huabinsir 的回复:]

背光灯,可以由一个IO口控制(硬件上可以由一个IO口控制)。你想办法操作这个IO口就行.
[/Quote]

是的,可以那样控制的,可应用是客户自己做,他们要求使用标准windows API来控制。
huabinsir 2011-06-08
  • 打赏
  • 举报
回复
背光灯,可以由一个IO口控制(硬件上可以由一个IO口控制)。你想办法操作这个IO口就行.
Ei 2011-06-01
  • 打赏
  • 举报
回复
调用关闭屏幕?
怎么调用的呢?
ywmen 2011-06-01
  • 打赏
  • 举报
回复
没玩过,关注。
nolatestudy 2011-06-01
  • 打赏
  • 举报
回复
关闭屏幕,包括关闭背光,但不仅仅关闭背光。

应用程序如我发帖所说,但就是调用不成功,应该是系统缺少这API的支持,那么系统需要加什么呢?
当我遇上-你 2011-05-31
  • 打赏
  • 举报
回复
LZ是要关屏幕还是背光?还是一起?

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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