Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Сколько мониторов? Добавлено: 16.03.09 17:54  

Автор вопроса:  KreAtoR

Ответить

  Ответы Всего ответов: 29  

Номер ответа: 16
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #16 Добавлено: 17.03.09 22:53
mc-black пишет:
Я так понимаю, ты хоте сказать, что GetSystemMetrics возвращает число Display Objects?

Именно... но она вернет не только реальные мониторы, но и виртуальные псевдо-мониторы если таковые есть в системе. И насколько я знаю там еще есть какая то завязка на количество девайсов(видеоадаптеров) в системе.. точнее не помню ибо уже давно не юзал ее..

Ответить

Номер ответа: 17
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #17
Добавлено: 17.03.09 22:55
Есть еще один товарищ, Александр Пащенко, но он последнее время здесь не появляется. Я из Нижнего )))

Ответить

Номер ответа: 18
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #18 Добавлено: 17.03.09 22:58
mc-black пишет:
Я из Нижнего )))

фига ссе заява... а ну стукнись в асю 138089885 ... это дело обмыть надо!

Ответить

Номер ответа: 19
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #19 Добавлено: 18.03.09 10:37
Тут фишка в том, что есть такое понятие как virtual screen, который прдставляет собой,сумму прямоугольников всех представленных в системе включая primary monitor. В твоем случае основной монитор будет занимать всю площать виртуального.
В случае если в системе 2 и более физических монитора, то их надо будет получать через EnumDisplayMonitors, а через GetMonitorInfo уже вытаскивать инфу о каждом из них.. разрешение глубина цвета и самое главное структуру RECT, которая показывает реальные координаты мониторов, чтобы ты мог отправить свое окно на тот или иной монитор.


ааа в примере можешь такое дать, было бы очень полезно!!!!!

Ответить

Номер ответа: 20
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #20 Добавлено: 18.03.09 11:22
KreAtoR пишет:
ааа в примере можешь такое дать, было бы очень полезно!!!!!

могу, но только на С#.. так что тебе это ничем не поможет.. )))

Ответить

Номер ответа: 21
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #21 Добавлено: 18.03.09 17:23
очень очень жаль

Ответить

Номер ответа: 22
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #22
Добавлено: 18.03.09 20:49
На форме Form1 разместите ListBox List1, код формы:
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.     Dim lprcClip As RECT
  5.     Module1.i = 1
  6.     Call EnumDisplayMonitors(0, 0, AddressOf Module1.MyInfoEnumProc, 0)
  7. End Sub


Добавь модуль Module1 с кодом:
  1. Option Explicit
  2.  
  3. Public Declare Function EnumDisplayMonitors Lib "user32" _
  4.        (ByVal hdc As Long, ByVal lprcClip As Long, _
  5.        ByVal lpfnEnum As Long, ByVal dwData As Long) As Long
  6.  
  7. Public Type RECT
  8.         Left As Long
  9.         Top As Long
  10.         Right As Long
  11.         Bottom As Long
  12. End Type
  13.  
  14. Public i As Long
  15.  
  16. Public Function MyInfoEnumProc(hMonitor As Long, hdcMonitor As Long, ByRef lprcMonitor As RECT, dwData As Long) As Boolean
  17.     Form1.List1.AddItem "Monitor #" & i & " hMonitor = " & CStr(hMonitor)
  18.     Form1.List1.AddItem "RECT = (" & lprcMonitor.Left & "," & lprcMonitor.Top & "," & _
  19.         lprcMonitor.Right & "," & lprcMonitor.Bottom & ")"
  20.     i = i + 1
  21.     MyInfoEnumProc = True
  22. End Function

Ответить

Номер ответа: 23
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #23
Добавлено: 18.03.09 21:01
Вот скрин, как это бывает с двумя мониторами:
http://mc-black.narod.ru/wrk/clpbrd01.png

Ответить

Номер ответа: 24
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #24 Добавлено: 19.03.09 10:22
вот так бы сразу. большое спасибо. все работает на ура и даже больше чем мне нужно, спасибо

Ответить

Номер ответа: 25
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #25 Добавлено: 19.03.09 21:47
EROS, я тоже из Нижнего, может вместе соберемся? :)

Ответить

Номер ответа: 26
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #26 Добавлено: 19.03.09 22:48
Steel Brand пишет:
EROS, я тоже из Нижнего, может вместе соберемся?

да не вопрос, всегда готов!

Ответить

Номер ответа: 27
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #27
Добавлено: 20.03.09 03:33
EROS, я тоже из Нижнего, может вместе соберемся?

Кто стырил акк Бранда?

Ответить

Номер ответа: 28
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #28 Добавлено: 20.03.09 19:46
Я так понял, сейчас выяснится что все из Нижнего? :)

Ответить

Номер ответа: 29
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #29 Добавлено: 20.03.09 22:07
Правильно понял, все кроме тебя )

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам