Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
Как можно определить количество подключенных мониторов?
22 апр 21, 11:03    [22312346]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 2189
Adilby,
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
MsgBox "Число мониторов в системе " & GetSystemMetrics(80)
22 апр 21, 14:10    [22312539]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7290
Adilby,
Именно в VBA?
22 апр 21, 14:29    [22312556]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 2189
sdku,

это и есть VBA
22 апр 21, 14:59    [22312579]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7290
ROI,
так я этого и не "вкуриваю"-зачем Аксу знать сколько мониторов подключено.
В панели управления графикой есть эти данные
22 апр 21, 16:07    [22312660]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
автор
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
MsgBox "Число мониторов в системе " & GetSystemMetrics(80)

Почему у меня красным выдает ошибку, что я должен подключить/сделать?
2 май 21, 13:48    [22317447]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
sdku,

к ноутбуку продавца подключаю дополнительный монитор, и через всплывающую форму показываю клиенту на втором мониторе что он покупает
2 май 21, 13:51    [22317449]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 2189
Adilby
автор
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
MsgBox "Число мониторов в системе " & GetSystemMetrics(80)

Почему у меня красным выдает ошибку, что я должен подключить/сделать?

Выделенное красным надо объявлять в отдельном модуле
2 май 21, 14:29    [22317471]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
ROI,

что-то не разобрался куда, что, как писать. Куда не пишу везде везде красным показывает. Не тыкнете ли, буду очень благодарен.
2 май 21, 15:04    [22317487]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 5205
Adilby
автор
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
MsgBox "Число мониторов в системе " & GetSystemMetrics(80)

Почему у меня красным выдает ошибку, что я должен подключить/сделать?
#If VBA7 Then
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#Else
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#End If
это пишется в разделе декларирования модуля, в данном случае формы...
2 май 21, 17:08    [22317554]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
vmag
Member

Откуда: MP
Сообщений: 3991
Панург,

PtrSafe обычно без (ByVal nIndex As LongPtr) не прокатывает.
3 май 21, 15:00    [22317836]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
ЦЦа
Member

Откуда:
Сообщений: 73
vmag,

да с чего бы? Источник:
int GetSystemMetrics(
  int nIndex
);
int - это Long в VBA.
4 май 21, 13:32    [22318258]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
vmag
Member

Откуда: MP
Сообщений: 3991
ЦЦа,

Да я тут как-то делал на медни приложение с двумя accde под win 32 и win 64 так вот оказалось, что VBA шный As Long в конце это да - аналог int (для w64), а вот Long в параметре без Ptr вызывает ошибку передаваемого параметра... ноги от сюда растут

Сообщение было отредактировано: 4 май 21, 13:53
4 май 21, 13:53    [22318270]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
ЦЦа
Member

Откуда:
Сообщений: 73
vmag,

"конец" или "начало" - не имеет значения. Без конкретики нельзя сказать, какая ошибка в выборе типов была допущена.
4 май 21, 14:13    [22318289]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
vmag
Member

Откуда: MP
Сообщений: 3991
ЦЦа,
vmag
PtrSafe обычно без (ByVal nIndex As LongPtr) не прокатывает.


В примере с мониторами на 64 разряда работает и Long и LongPtr
Могу своё "обычно" поменять на иногда и добавить, что LongPtr работает всегда...

К сообщению приложен файл (monitor.zip - 20Kb) cкачать
4 май 21, 15:03    [22318315]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7290
Adilby
к ноутбуку продавца подключаю дополнительный монитор, и через всплывающую форму показываю клиенту на втором мониторе что он покупает
В силу своей тупости ничё не понимаю:ну получите Вы цифру 1(или 2) и чё? Занахрена она клиенту? А просто словами объяснить (продемонстрировав возможности рядом тестов или без этого) клиенту что он покупает-не вариант

Сообщение было отредактировано: 4 май 21, 15:55
4 май 21, 16:02    [22318349]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
ЦЦа
Member

Откуда:
Сообщений: 73
vmag
Могу своё "обычно" поменять на иногда и добавить, что LongPtr работает всегда...
От этого пахнет мистикой и вероятностным процессом, в то время как процесс выбора типа при преобразовании 32-битных приложений в 64-битные логичен и детерминирован (читай - при достаточной практике туп и механистичен).
И кстати, если не хочеЦЦа им заморачиваЦЦа - находим уже адаптированные под VBA7 описания функций (Declare или библиотеки типов (.tlb)). А если таки хочеЦЦа - можно начать с официального источника и ссылок из него.
4 май 21, 16:08    [22318360]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 783
vmag,
поиск через CTRL-F
а вообще знать количество подключенных мониторов это довольно важно - либо на 1 моник инфу выводить, либо на два, или 3. К примеру расположили формы на 2 монитора , а у юзера он только 1 - окна все равно будут на втором мониторе - они на 1 монитор не соберутся и юзер будет считать что их нет (он их на 1-м мониторе не видит), а разработчик - что они есть (он их видит на 2-м мониторе куда сам и засунул)!
4 май 21, 21:20    [22318499]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
vmag
Member

Откуда: MP
Сообщений: 3991
alecko
а вообще знать количество подключенных мониторов это довольно важно

наверно, правда за 30 лет ни разу даже в голову такое не пришло, ток щас узнал, что есть такая возможность...
а уж кому это совсем по барабану (что там на этом мониторе и включен ли он вообще) - так это кассиру, чеки вылазят и ладно... последние метра три чековой ленты
идут с красной полосой, намекая что ленту пора заменить дабы кассу не заклинило на середине чека, так они даже это умудряются прозевать, отдают клиенту крашеный чек молча и ноль эмоций...
Да и мне как покупателю, не хотелось бы чтоб весь магазин видел что я покупаю и на какую сумму, я бы нажал кнопочку и отключил монитор когда подойдет моя очередь...
:-)

Сообщение было отредактировано: 4 май 21, 22:24
4 май 21, 22:24    [22318534]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
old_joy
Member

Откуда:
Сообщений: 187
Было бы еще интересно получить и разрешение мониторов.
5 май 21, 06:23    [22318589]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
Панург
Adilby
пропущено...

Почему у меня красным выдает ошибку, что я должен подключить/сделать?
#If VBA7 Then
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#Else
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#End If
это пишется в разделе декларирования модуля, в данном случае формы...


Отлично! Спасибо!
5 май 21, 13:53    [22318765]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
sdku
Adilby
к ноутбуку продавца подключаю дополнительный монитор, и через всплывающую форму показываю клиенту на втором мониторе что он покупает
В силу своей тупости ничё не понимаю:ну получите Вы цифру 1(или 2) и чё? Занахрена она клиенту? А просто словами объяснить (продемонстрировав возможности рядом тестов или без этого) клиенту что он покупает-не вариант


это было продолжение этого процесса https://www.sql.ru/forum/1160340/customer-display-displey-pokuratelya
5 май 21, 14:26    [22318786]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
[quot vmag#22318534]
alecko
...
Да и мне как покупателю, не хотелось бы чтоб весь магазин видел что я покупаю и на какую сумму, я бы нажал кнопочку и отключил монитор когда подойдет моя очередь...
:-)

)))))
некоторые покупатели не доверяют кассиру и хотят видеть что там мутится))
5 май 21, 14:30    [22318788]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
Adilby
Member

Откуда:
Сообщений: 23
А теперь можно ли командно открыть всплывающую форму именно на втором мониторе?
5 май 21, 14:32    [22318789]     Ответить | Цитировать Сообщить модератору
 Re: Определить количество подключенных мониторов  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 783
Adilby,
docmd.MoveSize 
5 май 21, 15:19    [22318840]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить