![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| HarpyWar |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 3.6.2007 Репутация: нет Всего: нет |
Винапи функция SetDeviceGammaRamp перестает функционировать после 268 её вызова. Легко проверить, пропустив через неё в цикле два разных RGB массива., чтобы экран мигал, меняя яркость.
Если же прогу, вызывающую эту функцию, перезапустить, то она снова работает до 268 раза. Не пойму в чем дело. |
|||
|
||||
| HarpyWar |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 3.6.2007 Репутация: нет Всего: нет |
Разобрался, с функцией все впорядке. Это хендл устройства монитора меняется по истечении этого количества вызовов. Я его присваивал только один раз при запуске программы.
Но интересно, почему он меняется именно после 268 вызова этой функции... |
|||
|
||||
| HarpyWar |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 3.6.2007 Репутация: нет Всего: нет |
Меняется он, если получить дескриптор монитора через .NET функцию (C#)
hdc = Graphics.FromHwnd(IntPtr.Zero).GetHdc(); А если получить через WinAPI, то он получается постоянный. hdc = GetWindowDC(GetDesktopWindow()); Собственно, проблема решена. Это сообщение отредактировал(а) HarpyWar - 28.7.2011, 04:33 |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
может потому что надо было освобождать HDC ресурс ( ReleaseDC )?
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |