void SetBackLight(int value)
{
int Lumin= value;
HKEY hKey;
DWORD dwType=0;
DWORD dwState=Lumin;
if(ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("ControlPanel\\Backlight"),0,0,&hKey))
{
RegSetValueEx(hKey, TEXT("ACBacklightLevel"),0,REG_DWORD,(BYTE*)&dwState,sizeof(DWORD));
RegCloseKey(hKey);
}
HANDLE hBL=CreateEvent(NULL,FALSE,FALSE,L"BackLightLevelChangeEvent");
if(hBL!=NULL)
{
SetEvent(hBL);
CloseHandle(hBL);
}
}
开始在网上搜了一些,给出的解决方法同上,只是event的名称为BacklightChangeEvent. 这个名称不同厂商的设备是不同的。 所以我查了一下系统的源代码,在controlpanel的源代码里找到了event的名称。然后就OK拉。~