Перейти к содержанию
Открыть в приложении

Удобный доступ к форуму. Подробнее.

Asterios

Полноэкранное приложение на главном экране с push-уведомлениями, значками и другими возможностями.

Установка на iOS и iPadOS
  1. В Safari нажмите значок «Поделиться»
  2. Прокрутите меню и выберите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Установка на Android
  1. Нажмите меню с тремя точками (⋮) в правом верхнем углу браузера.
  2. Выберите Добавить на главный экран или Установить приложение.
  3. Подтвердите действие кнопкой Установить.

Объявления

Решение ВСЕХ проблем с игрой!
Сервер Mumble

FormBorderStyle

Рекомендуемые ответы

Опубликовано

Хотел тему создать в разделе "Предложения", а оказалось, что надо быть писателем со стажем. Ну да ладно, создам тут, надеюсь, модератор поймет и переместит туда.

В настоящий момент имеется способ лишить окно клиента рамки (ключ UseWindowFrame в asterios.ini).

Если это возможно, давайте еще в этом направлении поработаем. Пусть рамка будет! Но окно пусть будет неизменяемого размера. Суть в том, что рамка позволяет удобно перемещать окно, сворачивать его, разворачивать при использовании всего лишь мыши. Но иногда бывает так, что случайно "хватаешь" мышкой за кромку окна и любое шевеление в сторону меняет его размер, происходит перерисовка с двухсекундной паузой и отображением черного окна. Пусть это будет тоже настраиваемо, т.к. не исключаю, что есть люди, играющие на нестандартных размерах клиента.

В .Net решение достигается изменением свойства окна FormBorderStyle, где допустимые значения такие:

None - это как раз тот вариант, который реализован как UseWindowFrame=False, то есть окно без рамки

FixedSingle или FixedSingle3D - это то что я прошу, у окна имеется рамка, оно может быть перемещено по экрану, свернуто, развернуто, закрыто, но опция изменения его размера путем захватывания за край рамки недоступна

Sizable - это то, как выглядит окно клиента обычно

 

Опубликовано

не думаю, что это целесообразно, т.к. приедтся перехватывать кучу сообщений винды, плюс править ехе-файл и делать иньекции дополнительных функций

Опубликовано

играйте в фулскрине, господа

Опубликовано
  • Автор

не думаю, что это целесообразно, т.к. приедтся перехватывать кучу сообщений винды, плюс править ехе-файл и делать иньекции дополнительных функций

Нет, нет. Все уже придумано до нас. Сама по себе опция, которая либо убирает рамку у окна, либо ее не убирает, - это уже фундамент, которым просто надо воспользоваться. По сути это все тоже самое, решение осуществлено именно путем смены типа Border-а. Надо лишь вместо двух возможных вариантов выбора дать еще один. По идее, это можно сделать прямо на лету с помощью какой нибудь примочки типа Winspector, но тут так трепетно относятся к целостности клиентской части, что за безобидный эксперимент можно словить бан, так что я лучше предложение напишу, а разработчик пусть хотя бы прочтет.

Опубликовано

Нет, нет. Все уже придумано до нас. Сама по себе опция, которая либо убирает рамку у окна, либо ее не убирает, - это уже фундамент, которым просто надо воспользоваться. По сути это все тоже самое, решение осуществлено именно путем смены типа Border-а. Надо лишь вместо двух возможных вариантов выбора дать еще один. По идее, это можно сделать прямо на лету с помощью какой нибудь примочки типа Winspector, но тут так трепетно относятся к целостности клиентской части, что за безобидный эксперимент можно словить бан, так что я лучше предложение напишу, а разработчик пусть хотя бы прочтет.

не все так просто. тип границы окна задается при создании этого окна.

 

HWND WINAPI CreateWindow(
  _In_opt_  LPCTSTR lpClassName,
  _In_opt_  LPCTSTR lpWindowName,
  _In_      DWORD dwStyle,
  _In_      int x,
  _In_      int y,
  _In_      int nWidth,
  _In_      int nHeight,
  _In_opt_  HWND hWndParent,
  _In_opt_  HMENU hMenu,
  _In_opt_  HINSTANCE hInstance,
  _In_opt_  LPVOID lpParam
); 

где dwStyle задается комбинацией из http://msdn.microsoft.com/en-us/library/windows/desktop/ms632600(v=vs.85).aspx

 

эту функцию надо перехватывать путем иньекции в процесс линейки дллки с написанной своей функцией с возможностью выбора параметра рамки окна

Изменено пользователем MiseryMachine

Опубликовано
  • Автор

эту функцию надо перехватывать путем иньекции в процесс линейки дллки с написанной своей функцией с возможностью выбора параметра рамки окна

Изменено пользователем Thorvardr

Опубликовано

Да, но оно уже реализовано. Ведь Антон написал (или это стандартный функционал?) перехват для удаления стиля WS_BORDER, тут все тоже самое, только надо WS_THICKFRAME так же убирать. Отправлю flash-ролик личным сообщением. Не для общего обзора оно, а то полезет народ куда не надо.

Не совсем так, эта опция уже была в клиенте, на сколько я помню (в L2.ini) и он просто перенес ее в Asterios.ini для удобства.

Но сделать наверное может, если захочет :)

Опубликовано

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

Опубликовано

не думаю, что это целесообразно, т.к. приедтся перехватывать кучу сообщений винды, плюс править ехе-файл и делать иньекции дополнительных функций

у нас и так клиент весть патченый перепатченый, на данный момент уже более сотни патчей, так что одним больше одним меньше... :)

Но сделать наверное может, если захочет :)

это не сложно, так что я если не забуду сделаю эту опцию WindowFixedSize в новом клиенте

Опубликовано

Не совсем так, эта опция уже была в клиенте, на сколько я помню (в L2.ini) и он просто перенес ее в Asterios.ini для удобства.

Но сделать наверное может, если захочет :)

было бы неплохо еще вынести в Asterios.ini часть настроек, ответственных за более глубокое ковыряние в графике и некоторых параметрах сети (объем буферов всяких и подобное)

Гость
Эта тема закрыта для публикации ответов.

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу

Учётная запись

Навигация

Поиск

Поиск

Настройка push-уведомлений браузера

Chrome (Android)
  1. Нажмите значок рядом с адресной строкой.
  2. Откройте Разрешения → Уведомления.
  3. Выберите нужную настройку.
Chrome на компьютере
  1. Нажмите значок сведений о сайте в адресной строке.
  2. Откройте Настройки сайтов.
  3. Найдите Уведомления и выберите нужную настройку.