Разрешение экрана.

Papaalaex

Client
Регистрация
30.01.2022
Сообщения
2
Благодарностей
0
Баллы
1
Подскажите, можно-ли менять разрешение экрана?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 501
Благодарностей
10 047
Баллы
113
Подскажите, можно-ли менять разрешение экрана?
Да, теперь можно менять разрешение через C#-код, аналогично как это делается для внутренних браузеров Зеннопостера.
 
  • Спасибо
Реакции: Alex.A

Papaalaex

Client
Регистрация
30.01.2022
Сообщения
2
Благодарностей
0
Баллы
1
В Зеннопостере меняю через c# instance.SetWindowSize(1600,1800); В ZennoBrowser ничего не меняется
 

LarinOk

Client
Регистрация
07.01.2026
Сообщения
13
Благодарностей
1
Баллы
3
Чтобы не плодить разных тем тут спрошу. Подскажите, как можно через C# развернуть окно ZennoBrowser на максимум?

Условно, разрешение профиля 1920х1080. SetWindowSize на максимум раскрывает только в PM. Когда запускаешь проект где используется SetWindowSize в ZP, окно получается уже +/- пикселей на 20 из за чего "едут" все координаты. Если работаешь по координатам видимой области то данная проблема мешает очень сильно. Как вариант использовать SetWindowSize только во время правок/отладки в PM -> потом обязательно отключать -> потом заходить в профиль именно через ZB и разворачивать окно на максимум -> только после этого запускать проект в ZP. В общем сложности на ровном месте )
 

Dmitriy_Zenno

Administrator
Регистрация
28.10.2025
Сообщения
398
Благодарностей
161
Баллы
43
Чтобы не плодить разных тем тут спрошу. Подскажите, как можно через C# развернуть окно ZennoBrowser на максимум?

Условно, разрешение профиля 1920х1080. SetWindowSize на максимум раскрывает только в PM. Когда запускаешь проект где используется SetWindowSize в ZP, окно получается уже +/- пикселей на 20 из за чего "едут" все координаты. Если работаешь по координатам видимой области то данная проблема мешает очень сильно. Как вариант использовать SetWindowSize только во время правок/отладки в PM -> потом обязательно отключать -> потом заходить в профиль именно через ZB и разворачивать окно на максимум -> только после этого запускать проект в ZP. В общем сложности на ровном месте )
Странно, метод SetWindowSize должен решать эту проблему.
Попробуйте такое решение, пользователям в ТГ помогало:

C#:
string profile_id = project.Variables["profile_id"].Value.Replace("-", "").ToLower();
string user_name = project.ExecuteMacro("{-Environment.UserName-}").Replace("root", "Administrator");
string profile_file_dir = $@"C:\Users\{user_name}\AppData\Local\ZennoLab\Profiles\{profile_id}\profile.json";

string profile_data = File.ReadAllText(profile_file_dir);

// Десериализация через ZP
dynamic data = Global.ZennoLab.Json.JsonConvert.DeserializeObject(profile_data);

// Получение параметров
int width = data.FingerprintInfo.Screen.Width;
int height = data.FingerprintInfo.Screen.Height;

instance.SetWindowSize(width, height);
 

LarinOk

Client
Регистрация
07.01.2026
Сообщения
13
Благодарностей
1
Баллы
3
Странно, метод SetWindowSize должен решать эту проблему.
Попробуйте такое решение, пользователям в ТГ помогало:

C#:
string profile_id = project.Variables["profile_id"].Value.Replace("-", "").ToLower();
string user_name = project.ExecuteMacro("{-Environment.UserName-}").Replace("root", "Administrator");
string profile_file_dir = $@"C:\Users\{user_name}\AppData\Local\ZennoLab\Profiles\{profile_id}\profile.json";

string profile_data = File.ReadAllText(profile_file_dir);

// Десериализация через ZP
dynamic data = Global.ZennoLab.Json.JsonConvert.DeserializeObject(profile_data);

// Получение параметров
int width = data.FingerprintInfo.Screen.Width;
int height = data.FingerprintInfo.Screen.Height;

instance.SetWindowSize(width, height);
Этим вы просто дергаете значения ширины и высоты из профиля. Мне эти значения заранее известны. Да и проблема как оказалось глубже чем просто не раскрытие окна до нужных размеров. Все нижеописанное касается только проектов которые запускаются на ZennoBrowser, с хромиумом такого не видел.

1) Если не устанавливать размер через SetWindowSize, ломается FullEmulationMouseMove. Мышка начинает периодически телепортироваться, иногда дублирует точки. Проверяю просто направляю мышь по маршруту А->Б->А и сохраняю логи того что видит браузер в файл. Проблема появляется только в ZennoPoster, в ProjectMaker все нормально. Если использовать SetWindowSize то в ZP мышь отрабатывает как надо. Пример телепорта на скрине (доехала до 150:800, дальше послана в другую точку и в самом начале идет резкий скачек).

139452


2) Нет возможности влиять на параметры Screen. Ниже скрин, на нем: 1. заход руками через ZennoBrowser 2. первое выполнение проекта в ZP после "ручного взаимодействия с ZB" 3. второе и последующие выполнения в ZP после "ручного взаимодействия c ZB". В проекте стоит SetWindowSize(1920, 1080).

139453


Как повлиять на availHeight так и не понял. Пробовал через SetScreenPreference, пробовал менять данные в файле profile.json - не помогает. availHeight всегда рисует 1080, ну и бонусом не совсем адекватный viewport с 2+ прогона дорисовывает.
 
  • Спасибо
Реакции: Dmitriy_Zenno

Dmitriy_Zenno

Administrator
Регистрация
28.10.2025
Сообщения
398
Благодарностей
161
Баллы
43
Этим вы просто дергаете значения ширины и высоты из профиля. Мне эти значения заранее известны. Да и проблема как оказалось глубже чем просто не раскрытие окна до нужных размеров. Все нижеописанное касается только проектов которые запускаются на ZennoBrowser, с хромиумом такого не видел.

1) Если не устанавливать размер через SetWindowSize, ломается FullEmulationMouseMove. Мышка начинает периодически телепортироваться, иногда дублирует точки. Проверяю просто направляю мышь по маршруту А->Б->А и сохраняю логи того что видит браузер в файл. Проблема появляется только в ZennoPoster, в ProjectMaker все нормально. Если использовать SetWindowSize то в ZP мышь отрабатывает как надо. Пример телепорта на скрине (доехала до 150:800, дальше послана в другую точку и в самом начале идет резкий скачек).

Посмотреть вложение 139452

2) Нет возможности влиять на параметры Screen. Ниже скрин, на нем: 1. заход руками через ZennoBrowser 2. первое выполнение проекта в ZP после "ручного взаимодействия с ZB" 3. второе и последующие выполнения в ZP после "ручного взаимодействия c ZB". В проекте стоит SetWindowSize(1920, 1080).

Посмотреть вложение 139453

Как повлиять на availHeight так и не понял. Пробовал через SetScreenPreference, пробовал менять данные в файле profile.json - не помогает. availHeight всегда рисует 1080, ну и бонусом не совсем адекватный viewport с 2+ прогона дорисовывает.
Спасибо большое за такое подробное описание.
Это лучший ответ, который я видел!

Передам эту информацию нашим разработчикам.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)