Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Windows не запоминает разрешение для пользователя 
:(
    Опции темы
Ch0bits
Дата 7.10.2009, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Такая гадкая проблема. В системе несколько пользователей, один из них с плохим зрением и требует разрешение 1024х768, другие же работают на 1280х1024. Так вот разрешение не разделяется по профилям, и если один его меняет оно меняется и у других. 
Сейчас сижу на W7 - думал хоть в ней эту проблему решат. Но там сделали только масштабирование 125%, 150% - которое нафиг не нужно, т.к. увеличивает только GUI, а тот же сапёр или MPlayer например так и остается мелким. Гадство...
Пока пришло на ум только написать программу которая на автозапуске меняет разрешение, но от того разбегаются значки на рабочем столе. Гадство...

 smile  smile  smile 

Может кто имел опыт решения моей проблемы?
PM WWW   Вверх
Ch0bits
Дата 7.10.2009, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Вот, может кому пригодится утилитка.
Код

program ChangeScreenResolution;

uses
  SysUtils, Windows;

var
  xres, yres, h, i: DWORD;
  DevMode : TDeviceMode;
  Found: BOOL;
begin
  // Парсим параметры
  if (ParamCount < 3) then begin
    MessageBox(0,'В качестве аргумента нужно передать 3 параметра: ' + #13#10 +
                  'гориз. разрешение, верт. вертикальное разрешение и частоту обновления'  + #13#10 +
                  'Например 1280 1024 60','', MB_ICONINFORMATION);
    exit;
  end;
  try
    xres := StrToInt(ParamStr(1));
    yres := StrToInt(ParamStr(2));
    h := StrToInt(ParamStr(3));
  except
    MessageBox(0, '', 'Неверно заданы аргументы!', MB_ICONERROR);
    Exit;
  end;

  // Теперь нужно получить все доступные разрешения и найти среди них наше
  Found := false;
  i := 0;
  while EnumDisplaySettings(nil, i, DevMode) do begin
    with Devmode do
      if (dmPelsWidth = xres) and (dmPelsHeight = yres) and
         (dmBitsperPel = 32) and (dmDisplayFrequency = h) then begin
        Found := True;
        break;
      end;
      Inc(i);
  end;
  if not Found then begin
    MessageBox(0, 'Указанное разрешение не поддерживается', '', MB_ICONERROR);
    Exit;
  end;

  // Теперь можно поменять
  ChangeDisplaySettings(DevMode, 0);
end.




Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ChangeScreenResolution.exe 41,00 Kb
PM WWW   Вверх
Thinker
Дата 7.10.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


иногда всех достаю
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 17.8.2007
Где: г.Москва

Репутация: 6
Всего: 29



Точно знаю, что штатными средствами не получится решить вопрос.
Есть программа Screen resolutio (хотя какая разница эта прога или твоя?). 
Были случаи, когда на SP2 разрешение сохранялось для каждого профиля. Сейчас попробовал, не сохраняется. 


--------------------
Помню! Скорблю!
Ольчик, я все равно тебя заберу обратно.  smile 
PM MAIL ICQ Skype GTalk   Вверх
Akina
Дата 7.10.2009, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



Цитата(Thinker @  7.10.2009,  13:07 Найти цитируемый пост)
Были случаи, когда на SP2 разрешение сохранялось для каждого профиля.

Это разве в какой-нить "самопальной" сборке.
Штатно такого механизма нет.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0660 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.