📄 backlight.txt
字号:
这样触发系统事件:
IntPtr hBackLightEvent = CreateEvent(IntPtr.Zero, false, true, "BackLightChangeEvent");
if (hBackLightEvent != IntPtr.Zero)
{
EventModify(hBackLightEvent,3);
CloseHandle(hBackLightEvent);
}
[DllImport("coredll.dll", SetLastError=true)]
public static extern IntPtr CreateEvent(IntPtr lpEventAttributes, bool bManualReset, bool bInitialState, string lpName);
[DllImport("coredll.dll", SetLastError=true)]
public static extern bool EventModify(IntPtr hEvent, int ef);
[DllImport("coredll.dll", SetLastError=true)]
public static extern bool CloseHandle(IntPtr hObject);
smartphone的背光控制
反汇编了peripheral.dll,想看看smartphone上的背光是如何控制的,了解了一点点
下面是相关的有名事件:
TIMEOUTDISPLAYOFFLCDONLY
TIMEOUTDISPLAYOFFHALF
TIMEOUTDISPLAYOFF
MONITOR_PRESSED_ANYKEY
BackLightChangeEvent
可以在应用程序中使用这些事件
818+, 830 wm5 背光设置代码
反汇编backlight.exe得到的,在mda compact ii上测试通过
如果背景关闭了(机器上开的),打开背光
void BackLightOn()
{
HANDLE hBL=CreateEvent(NULL,FALSE,FALSE,L"BackLightChangeEvent");
if(hBl != NULL)
{
SetEvent(hBL);
CloseHandle(hBL);
}
}
得到背光的亮度设置
int GetBackLightLevel()
{
int iRet = -1;
DWORD dwOut,dwRet;
HANDLE h = CreateFile(TEXT("BKL1:"), GENERIC_READ|GENERIC_WRITE, 0,0,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
if (h != INVALID_HANDLE_VALUE)
{
if ( DeviceIoControl(h, 1 , 0, 0, &dwOut, sizeof(DWORD), &dwRet, 0))
{
iRet = dwOut;
}
CloseHandle(h);
}
return iRet;
}
设置背光亮度等级
BOOL GetBackLightLevel(DWORD dwLevel)
{
BOOL bRet = FALSE;
DWORD dwRet;
HANDLE h = CreateFile(TEXT("BKL1:"), GENERIC_READ|GENERIC_WRITE, 0,0,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
if (h != INVALID_HANDLE_VALUE)
{
if ( DeviceIoControl(h, 2 , &dwLevel, sizeof(DWORD), 0,0, &dwRet, 0))
{
bRet = TRUE;
}
CloseHandle(h);
}
return bRet;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -