Показать сообщение отдельно
  #9  
Старый 05.02.2009, 21:29
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию

А ещё можно попробывать неправильные параметры видеорежима и поместить это в автозагрузку. И при каждом запуске виндус монитор будет убегать от пользователя.

Выявить все возможные видеорежимы можно так (Razmire - то кнопка):
Код:
modes:array[0..255] of TDevMode;
...
procedure TForml.Razmire(Sender: TObject);
var
i: Integer;
begin
ListBoxl.Items.Clear;
i := 0;
while EnumDisplaySettings(nil, i, Modes[i]) do
begin
ListBoxl.Items.Add(IntToStr(Modes[i].dmBitsPerPel)+' '+
IntToStr(Modes[i].dmPelsWidth)+' '+
IntToStr(Modes[i].dmPelsHeight)+ ' '+
IntToStr(Modes[i].dmDisplayFrequency));
Inc(i);
end;
end;
Admin: Пользуемся тегами!

И не забутьте поместить на форму ListBox.

Устанавливать так (YST - кнопка):
Код:
procedure TForml.YST(Sender: TObject);
begin
Modes[ListBoxl.Itemlndex].dmFields := DM_BITSPERPEL or
DM_PELSWIDTH or DM_PELSHEIGHT or
DM_DISPLAYFLAGS or DM_DISPLAYFREQUENCY;
ChangeDisplaySettings(Modes[ListBoxl.Itemlndex], CDSJJPDATEREGISTRY);
end;
И помещу вам для справки пояснения к флагам:
1. DMBITSPERPEL — будет меняться количество бит на пиксель.
2. DM_PELSWIDTH ~ будет меняться ширина экрана.
3. DM_PELSHEIGHT — будет меняться высота экрана.
4. DM_DISPLAYFREQUENCY — будет меняться частота развертки.
5. DMDISPLAYFLAGS — изменить флаги дисплея.
Ответить с цитированием