Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2007, 06:25   #1
Megabotan
Пользователь
 
Регистрация: 30.11.2006
Сообщений: 11
По умолчанию Свои значения для Window.Screen в DOM

Мне нужно задать свои значения переменным window.screen.availHeight, window.screen.availWidth, window.screen.width, window.screen.height, window.screen.colorDepth.
Они используются скриптом JavaScript на Web странице.
Страницу эту я буду открывать в TWebBrowser (если это имеет значение). Не знаю с чего здесь начать: то ли с реестра, то ли как-то непосредственно на объктную модель DOM влиять.
Если эти значения каждый раз считываются из реестра при загрузке браузера, то задача бы облегчилась, но этого я пока не выяснил.
Подскажите, пожалуйста, кто-нибудь где рыть. Может системные переменные перехватывать нужно?
Megabotan вне форума Ответить с цитированием
Старый 01.01.2007, 13:22   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Megabotan, в Delphi параметры класса TScreen доступны только для чтения, как ты собираешься их менять?
Alar вне форума Ответить с цитированием
Старый 01.01.2007, 17:42   #3
Megabotan
Пользователь
 
Регистрация: 30.11.2006
Сообщений: 11
По умолчанию

Класс TScreen тут вообще не причём. Мне надо было точнее выражаться.
Меня интересует как создаются свойства window.screen в модели DOM, которая используется в браузерах (меня интересует здесь IE). Это переменные JavaScript, а НЕ Delphi.
Само собой, что все подобные параметры доступны только для чтения.
Я же хочу найти способ, как бы так с помощью Delphi их изменить для JavaScript'а. То ли в реестр лезть перед загрузкой браузера, то ли что...
Может кто-нибудь знает в подробностях, как устроена браузерная модель DOM? Или просто откуда берутся значения экранных переменных...
Megabotan вне форума Ответить с цитированием
Старый 01.01.2007, 23:53   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитата:
Сообщение от Megabotan Посмотреть сообщение
Может кто-нибудь знает в подробностях, как устроена браузерная модель DOM? Или просто откуда берутся значения экранных переменных...
Понятно. надо мануалы по браузерам читать... Я ничем помочь не смогу.
Alar вне форума Ответить с цитированием
Старый 02.01.2007, 15:31   #5
Megabotans
 
Регистрация: 24.12.2006
Сообщений: 4
По умолчанию

Я пытался что-нибудь в MSDN об объектной модели DOM найти, но толком ничего интересного. Только Internet Explorer Developer Toolbar скачал, но там переменные этой модели можно только просматривать или запрещать частично.
Может кто-нибудь знает как в неё попадают системные переменные (типа глубина цвета дисплея, экранное разрешение)? Я б хотел попробовать перехватить этот процесс... Вообще как любые окна узнают параметры дисплея?
Megabotans вне форума Ответить с цитированием
Старый 02.01.2007, 18:19   #6
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

в Delphi есть стандартные процедуры и функции. знаешь их? если знаешь, то до api функций дойти не сложно будет...
Alar вне форума Ответить с цитированием
Старый 03.01.2007, 16:41   #7
Megabotan
Пользователь
 
Регистрация: 30.11.2006
Сообщений: 11
По умолчанию

Я знаю, что есть api функция setdisplaysetting, которая устанавливает параметры дисплея. Знаю, что если у неё первый параметр будет ноль, то данные заноситься в реестр не будут, но параметры дисплея все равно меняться будут по настоящему. А IE переменные дисплея, как я убедился, не из реестра берёт.
Вообщем мне надо узнать способ как заставить одно какое-либо окно (или компанент) думать, что в системе на данный момент установлены такие-то параметры дисплея. Вероятно ф-ция setdisplaysetting посылает всем окнам сообщения, которые заставляют их подстраивать свои параметры под новые параметры дисплея. Надо бы мне подумать как подобное сообщение симулировать, возможно с помощью api ф-ции sendmessage.

Судя по всему надо так: sendmessage(Form1.Webbrowser1.Handl e, wm_DevModeChange, 0, <устройство видеовывода>).
Но только как сюда запихнуть мнимые параметры дисплея? И каков должен быть четвёртый параметр вместо <устройство видеовывода>?
И ещё. Похоже на ответную реакцию WebBrowser нужно ставить Hook, а я с этим никогда не сталкивался. Хотелось бы, чтобы кто-нибудь подсказал как это делается.
Megabotan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Immediate Window ZORRO2005 Microsoft Office Excel 1 24.05.2008 16:23
Full screen RealSHELS Gamedev - cоздание игр: Unity, OpenGL, DirectX 16 05.05.2008 11:37
про window LuMax Помощь студентам 4 28.12.2007 15:44
Screen Saver на Паскале Акашаев Нурлан Паскаль, Turbo Pascal, PascalABC.NET 4 28.07.2007 21:36