WINCE下如何修改屏幕亮度呢?

parkjinheel 2007-03-16 10:29:22
加精
自己用2003做了一个应用程序
在WINCE下运行感觉截面很暗(2003不能调整所做的界面的颜色属性)
所以想在WINCE下调整屏幕亮度,变的亮点,在网上搜索也没有答案
不知道该怎么做谢谢大家
...全文
2445 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
也已时过境迁 2011-12-07
  • 打赏
  • 举报
回复
学习啦
wolfmvp 2010-03-02
  • 打赏
  • 举报
回复
感觉如果修改按钮的亮度,那只能通过使用比较鲜亮的颜色来实现。感觉你是想实现比较清晰的效果,如果屏幕比较暗,你把按钮的颜色调的再鲜亮,也不会清晰;想解决这个问题,还应该从屏幕的背光着手…
jayskycai 2010-03-02
  • 打赏
  • 举报
回复
void CPnd_ui_testDlg::OnBTNSetBklight()
{
// TODO: Add your control notification handler code here
HANDLE hBK;
QZReg reg;
UpdateData(TRUE);
if(m_dword>5)m_dword=5;
if(m_dword<1)m_dword=1;
DWORD dwBk;
RETAILMSG(1,(TEXT("m_dword=%x \r\n"),m_dword));
hBK = CreateFile(_T("BKL1:"),GENERIC_READ| GENERIC_WRITE,NULL,NULL,OPEN_EXISTING,NULL,NULL);
//Get Current BK Level
if (DeviceIoControl(hBK,IOCTL_BACKLIGHT_GET,NULL,NULL,&dwBk,sizeof(dwBk),NULL,NULL))
{
RETAILMSG(1,(TEXT("Current bk=%x \r\n"),dwBk));
}
//set bk level
if((m_dword>0)&&(m_dword<6))
{
if (DeviceIoControl(hBK,IOCTL_BACKLIGHT_SET,&m_dword,sizeof(m_dword),NULL,0,NULL,NULL))
{
RETAILMSG(1,(TEXT("set OK m_dword=%x \r\n"),m_dword));
}
reg.RegSet(HKEY_CURRENT_USER,TEXT("ControlPanel\\BackLight"),TEXT("BacklightCurrentLevel"),m_dword);
#if 1
HANDLE hBL=CreateEvent(NULL,FALSE,FALSE,TEXT("BackLightChangeEvent"));

if(hBL)
{
SetEvent(hBL);
CloseHandle(hBL);
}
#endif
}
CloseHandle(hBK);
}
中国168 2010-03-01
  • 打赏
  • 举报
回复
引用 2 楼 gzlixp 的回复:
先研究一下硬件支持不支持这么做


应该跟显示屏的硬件有关吧,能不能调整其显示背光的方式,看看调试效果!
zhangsanbi 2010-01-24
  • 打赏
  • 举报
回复
通过调节对比度,重新启动后发现又被还原成原来的值,可已经写进注册表了啊!疑问中。。。请各位指教
PinkDream20070628 2009-02-19
  • 打赏
  • 举报
回复
KernalIOCTL来做的.如果底层给你包好了也可以的.
ryf506 2009-02-19
  • 打赏
  • 举报
回复
又懂了点东西,谢谢。
xumercury 2009-02-19
  • 打赏
  • 举报
回复
1.修改wince注册表里背光的参数
2.如果有屏驱动芯片。调整屏驱动芯片部分参数
3.如果有VCOM。针对屏的vcom调整参数。
4.或者直接修改输出的参数。
其他的也没什么办法了。
lovetowin 2009-02-17
  • 打赏
  • 举报
回复
谢谢分享
GuanMingSoft 2009-02-16
  • 打赏
  • 举报
回复
多谢多谢
navi_dx 2009-02-16
  • 打赏
  • 举报
回复
应用程序员喜欢在应用层解决问题
系统程序员喜欢在驱动层解决问题
xajhuang 2009-02-16
  • 打赏
  • 举报
回复
呀 这里也就人灌水啊
修改亮度跟硬件有关系,你先要了解硬件怎么控制LCD亮度的才能做响应修改。
shuiyan 2009-02-16
  • 打赏
  • 举报
回复
TFT LCD是自身不发光的,既然不发光,又何来“亮度”一说呢?

液晶屏就只能靠背光来实现亮度调节。想单独调节某一部分的亮度,只能将这一部分的图片做的颜色值选那种透亮或者鲜亮的。
WANGYANG_2000 2009-02-15
  • 打赏
  • 举报
回复
用下面程序试一试 
void CBacklight1Dlg::OnSet()
{
int Lumin=m_ctrlSlider1.GetPos();

HKEY hKey;
DWORD dwType=0;
DWORD dwState=Lumin;

if(ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER, TEXT( "ControlPanel\\Backlight "),0,0,&hKey))
{
RegSetValueEx(hKey, TEXT( "BacklightLuminanceLevel "),0,REG_DWORD,(BYTE*)&dwState,sizeof(DWORD));
RegCloseKey(hKey);
}

HANDLE hBL=CreateEvent(NULL,FALSE,FALSE,L "BackLightChangeEvent ");
if(hBL)
{
SetEvent(hBL);
CloseHandle(hBL);
}
}
ypc123456789 2009-02-15
  • 打赏
  • 举报
回复
什么啊
shanjixi 2009-02-14
  • 打赏
  • 举报
回复
郁闷啊,正在努力学习中
shanjixi 2009-02-14
  • 打赏
  • 举报
回复
谢谢啦呵呵
lovebt2003 2009-02-14
  • 打赏
  • 举报
回复
多谢多谢
lovebt2003 2009-02-14
  • 打赏
  • 举报
回复
也想知道
shanshuixiaoyan 2009-02-14
  • 打赏
  • 举报
回复
不知道,看看再说
加载更多回复(20)

19,502

社区成员

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

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