Thorvardr Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 Хотел тему создать в разделе "Предложения", а оказалось, что надо быть писателем со стажем. Ну да ладно, создам тут, надеюсь, модератор поймет и переместит туда. В настоящий момент имеется способ лишить окно клиента рамки (ключ UseWindowFrame в asterios.ini). Если это возможно, давайте еще в этом направлении поработаем. Пусть рамка будет! Но окно пусть будет неизменяемого размера. Суть в том, что рамка позволяет удобно перемещать окно, сворачивать его, разворачивать при использовании всего лишь мыши. Но иногда бывает так, что случайно "хватаешь" мышкой за кромку окна и любое шевеление в сторону меняет его размер, происходит перерисовка с двухсекундной паузой и отображением черного окна. Пусть это будет тоже настраиваемо, т.к. не исключаю, что есть люди, играющие на нестандартных размерах клиента. В .Net решение достигается изменением свойства окна FormBorderStyle, где допустимые значения такие: None - это как раз тот вариант, который реализован как UseWindowFrame=False, то есть окно без рамки FixedSingle или FixedSingle3D - это то что я прошу, у окна имеется рамка, оно может быть перемещено по экрану, свернуто, развернуто, закрыто, но опция изменения его размера путем захватывания за край рамки недоступна Sizable - это то, как выглядит окно клиента обычно Ссылка на комментарий Поделиться на другие сайты Поделиться
Extortioner Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 не думаю, что это целесообразно, т.к. приедтся перехватывать кучу сообщений винды, плюс править ехе-файл и делать иньекции дополнительных функций Ссылка на комментарий Поделиться на другие сайты Поделиться
en0tpwnz Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 играйте в фулскрине, господа Ссылка на комментарий Поделиться на другие сайты Поделиться
Thorvardr Опубликовано 16 сентября, 2014 Автор Поделиться Опубликовано 16 сентября, 2014 не думаю, что это целесообразно, т.к. приедтся перехватывать кучу сообщений винды, плюс править ехе-файл и делать иньекции дополнительных функций Нет, нет. Все уже придумано до нас. Сама по себе опция, которая либо убирает рамку у окна, либо ее не убирает, - это уже фундамент, которым просто надо воспользоваться. По сути это все тоже самое, решение осуществлено именно путем смены типа Border-а. Надо лишь вместо двух возможных вариантов выбора дать еще один. По идее, это можно сделать прямо на лету с помощью какой нибудь примочки типа Winspector, но тут так трепетно относятся к целостности клиентской части, что за безобидный эксперимент можно словить бан, так что я лучше предложение напишу, а разработчик пусть хотя бы прочтет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Extortioner Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 (изменено) Нет, нет. Все уже придумано до нас. Сама по себе опция, которая либо убирает рамку у окна, либо ее не убирает, - это уже фундамент, которым просто надо воспользоваться. По сути это все тоже самое, решение осуществлено именно путем смены типа 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 эту функцию надо перехватывать путем иньекции в процесс линейки дллки с написанной своей функцией с возможностью выбора параметра рамки окна Изменено 16 сентября, 2014 пользователем MiseryMachine Ссылка на комментарий Поделиться на другие сайты Поделиться
Thorvardr Опубликовано 16 сентября, 2014 Автор Поделиться Опубликовано 16 сентября, 2014 (изменено) эту функцию надо перехватывать путем иньекции в процесс линейки дллки с написанной своей функцией с возможностью выбора параметра рамки окна Изменено 16 сентября, 2014 пользователем Thorvardr Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 Да, но оно уже реализовано. Ведь Антон написал (или это стандартный функционал?) перехват для удаления стиля WS_BORDER, тут все тоже самое, только надо WS_THICKFRAME так же убирать. Отправлю flash-ролик личным сообщением. Не для общего обзора оно, а то полезет народ куда не надо.Не совсем так, эта опция уже была в клиенте, на сколько я помню (в L2.ini) и он просто перенес ее в Asterios.ini для удобства.Но сделать наверное может, если захочет Ссылка на комментарий Поделиться на другие сайты Поделиться
iKpy Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 Ах как было бы замечательно если бы ещё можно было изменять параметры системного чата. А то это могут делать лишь единицы и делиться познаниями обхода защиты не торопятся. Ссылка на комментарий Поделиться на другие сайты Поделиться
Drin Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 не думаю, что это целесообразно, т.к. приедтся перехватывать кучу сообщений винды, плюс править ехе-файл и делать иньекции дополнительных функций у нас и так клиент весть патченый перепатченый, на данный момент уже более сотни патчей, так что одним больше одним меньше... Но сделать наверное может, если захочет это не сложно, так что я если не забуду сделаю эту опцию WindowFixedSize в новом клиенте Ссылка на комментарий Поделиться на другие сайты Поделиться
Extortioner Опубликовано 16 сентября, 2014 Поделиться Опубликовано 16 сентября, 2014 Не совсем так, эта опция уже была в клиенте, на сколько я помню (в L2.ini) и он просто перенес ее в Asterios.ini для удобства. Но сделать наверное может, если захочет было бы неплохо еще вынести в Asterios.ini часть настроек, ответственных за более глубокое ковыряние в графике и некоторых параметрах сети (объем буферов всяких и подобное) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения