Сейчас на форуме: bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› Вопрос немного не по тематике сайта, но вдруг поможете: управление подсветкой нетбуков
Посл.ответ Сообщение

Ранг: 9.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 февраля 2011 20:47
· Личное сообщение · #1

Пипл помогите плиз!

Вопрос такой:
кто знает как управлять программно подсветкой нет-буков, подчеркиваю не гаммой, а подсветкой. Есть для этого API через драйвера монитора, но все на других форумах пишут, что это не работает,
у меня тоже не получается.

Для этого по идее должны использоваться следующие команды

IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS
IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS
IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS

Посылаю в драйвера соотвествующие команды, пишет что выполнено успешно, а яркость подсветки визуально не меняется, хотя получая данные из драйвера (IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS)
присылает установленные мною значения.

Сделал маленькую прогу, которая получает значения емкости аккумулятора, напряжения и потребляемой мощности аккумулятором, хотел из нее же управлять подсветкой.

На других форумах ни чего не нашел.

Заранее благодарен!




Ранг: 57.7 (постоянный), 49thx
Активность: 0.070
Статус: Участник

Создано: 11 февраля 2011 20:58 · Поправил: inffo
· Личное сообщение · #2

Mag_3d сходи по этим ссылкам, может что полезного найдешь

http://msdn.microsoft.com/en-us/library/aa372702(v=vs.85).aspx

и

http://msdn.microsoft.com/en-us/library/aa372704(v=VS.85).aspx



Ранг: 9.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 февраля 2011 21:17
· Личное сообщение · #3

inffo - я уже писал, что это не работает (((
Смотри мой вопрос )))




Ранг: 57.7 (постоянный), 49thx
Активность: 0.070
Статус: Участник

Создано: 11 февраля 2011 21:28
· Личное сообщение · #4

Если нет реакций, значит либо драйвер, либо монитор не поддерживают такую функцию.

Вот код который удалось в нете найти

Code:
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #pragma comment (linker, "/Subsystem:console")
  4.  
  5. typedef struct _DISPLAY_BRIGHTNESS { 
  6.     UCHAR ucDisplayPolicy;
  7.     UCHAR ucACBrightness;
  8.     UCHAR ucDCBrightness;
  9. } DISPLAY_BRIGHTNESS, *PDISPLAY_BRIGHTNESS;
  10.  
  11. #define IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS \
  12.     CTL_CODE(FILE_DEVICE_VIDEO, 0x125, METHOD_BUFFERED, FILE_ANY_ACCESS)
  13.  
  14. #define IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS \
  15.     CTL_CODE(FILE_DEVICE_VIDEO, 0x126, METHOD_BUFFERED, FILE_ANY_ACCESS)
  16.  
  17. int main(void)
  18. {
  19.     DWORD dwError;
  20.     HANDLE hDevice;
  21.     hDevice = CreateFile("\.\LCD",       // open LCD device
  22.                         GENERIC_READ,            // no access to the drive
  23.                         FILE_SHARE_READ|
  24.                         FILE_SHARE_WRITE,     // share mode
  25.                         NULL,                                  // default security attributes
  26.                         OPEN_EXISTING,             // disposition
  27.                         0,                                          // file attributes
  28.                         NULL);
  29.  
  30.    
  31.     if (hDevice == INVALID_HANDLE_VALUE) 
  32.     {
  33.         dwError = GetLastError();
  34.         printf("error(%d): CreateFile\n", dwError);
  35.         exit(-1);
  36.     }
  37.  
  38.    BYTE SupportedBrightness[256];
  39.  
  40.     DISPLAY_BRIGHTNESS DisplayBrightness;
  41.     DWORD  nOutBufferSize=sizeof(DisplayBrightness);
  42.     DWORD  nBytesReturned;
  43.  
  44.     int nRes = DeviceIoControl(
  45.         (HANDLE) hDevice,                                                                // handle to device
  46.         IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS,  // dwIoControlCode
  47.         NULL,                                                                                        // lpInBuffer
  48.         0,                                                                                                // nInBufferSize
  49.         (LPVOID) SupportedBrightness,                                           // output buffer
  50.         sizeof(SupportedBrightness),                                                // size of output buffer
  51.         (LPDWORD) &nBytesReturned,                                            // bytes returned
  52.         NULL                                                                                         // OVERLAPPED
  53.         );
  54.  
  55.     dwError = GetLastError();
  56.     CloseHandle(hDevice);
  57.     return 0;
  58. }


Может чем поможет



Ранг: 9.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 февраля 2011 21:44 · Поправил: Mag_3d
· Личное сообщение · #5

"\.\LCD" ))

А если серьезно, то код не помогает.
Нет-бук самсунг, точно возможно програмное управление,
утилиты от самого самсунга это позволяют делать.

На других форумах люди тоже пробывали и у них тоже визуальная реация = 0!




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 11 февраля 2011 21:47 · Поправил: neomant
· Личное сообщение · #6

Ida, Olly + "утилиты от самого самсунга"

-----
Следуй за белым кроликом





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 12 февраля 2011 06:48
· Личное сообщение · #7

+1 Разреверси тулзу от самсунга

-----
Yann Tiersen best and do not fuck




Ранг: 65.3 (постоянный), 10thx
Активность: 0.020
Статус: Участник

Создано: 12 февраля 2011 13:13
· Личное сообщение · #8

Есть некое подозрение, что установленную подсветку надо как-то коммиттить, основывается это подозрение на том, что под линухом, когда меняешь подсветку с неправильно настроенным XOrg, он говорит, что поменял, но не меняет. А поход потом в консоль и нажатие на кнопки регулирования яркости приводят к установке яркости, которую выбрали в XOrg. То есть, такое чувство, что XOrg писать пишет, но не применяет.

Все это, однако, может оказаться абсолютным бредом.


 eXeL@B —› Программирование —› Вопрос немного не по тематике сайта, но вдруг поможете: управление подсветкой нетбуков
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати