Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Узнать разрешение второго монитора для 1с 7.7

v7: Узнать разрешение второго монитора для 1с 7.7
Я
   Shrk_V_V_V
 
07.09.18 - 14:07
Тут
Как можно определить разрешение монитора текущего пользователя?
Написано, как узнать для первого, а для второго не работает
Попобовал поправить

|    For Each mParam In mService.ExecQuery(""SELECT Sum(1) as n FROM Win32_DesktopMonitor"")
|        nHeight = mParam.n
|        nWidth = mParam.n
|        rez = rez " + Ñèìâ(38) + " cStr(nWidth)  " + Ñèìâ(38) +"""x""" + Ñèìâ(38) + " cStr(nHeight)  " + Ñèìâ(38) + """z""
|        Next
|    GetWindowAttribute =  rez

но все равно, не работает
 
 
   2S
 
1 - 07.09.18 - 14:08
позвольте узнать - нафейхуа такое нужно?
   Shrk_V_V_V
 
2 - 07.09.18 - 14:12
У некоторых пользователей второй монитор портрет, а не ланшафт, соответственно программа работает слегка по другому
   Garikk
 
3 - 07.09.18 - 14:30
(0) мне негде запусить но

SELECT Sum(1) as n FROM Win32_DesktopMonitor

что этим вы хотели сделать? (в отличии от оригинала по вашей ссылке)
   Shrk_V_V_V
 
4 - 07.09.18 - 14:35
Запрос правильный, звездочка там, это я опечатался. Пытался посчитать сколько строчек там, но так похоже нельзя. Запрос такой же, просто собирается не по последней, а по всем строчкам. Но выводит все равно данные одного монитора
   Shrk_V_V_V
 
5 - 07.09.18 - 14:39
вот так,
http://prntscr.com/kromam
текст вставить не получается, кодировка с ума сходит
   Сияющий в темноте
 
6 - 07.09.18 - 15:08
Можно у системы спросить разрешенин рабочего стола и области,спроецированные на мониторы,тогда получите,если на мониторе рабочий стол,а если нет,то нужно у видеокарты запрашивать,что и куда.
   Пуля
 
7 - 07.09.18 - 15:11
Пусть пользователь ставит галочку - "Вертикаль/горизонталь", и по ней определять...
   Shrk_V_V_V
 
8 - 07.09.18 - 15:41
Галочку придется просить, если не вычислю..
Не очень понимаю, как спросить у видеокарты..
   NSSerg
 
9 - 07.09.18 - 15:52
For Each mParam in mService.ExecQuery("Select * from Win32_DesktopMonitor")
 nHeight = mParam.ScreenHeight
nWidth = mParam.ScreenWidth
Next
   NSSerg
 
10 - 07.09.18 - 15:56
(9) Виноват, не увидел скриншота. И неужели не работает?
 
 Рекламное место пустует
   Djelf
 
11 - 07.09.18 - 18:16
(0) Кажется я понял в чем причина. Видимо у тебя одинаковые мониторы, а Win32_DesktopMonitor выдает физические параметры монитора. Поэтому у второго монитора они те же самые.
Попробуй логические единицы проверить
https://docs.microsoft.com/ru-ru/windows/desktop/CIMWin32Prov/win32-videocontroller

А formex религия не позволяет использовать? Он должен логические единицы выдавать.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует