Identyfikacja monitora

0

Witam serdecznie.

Potrzebuję wywołać funkcję jak się domyślam z winapi która kryje się pod zaznaczonym na czerwono przyciskiem na załączonym screen-ie.

WinDispIdentify.jpg

Czy może wiecie jak owa funkcja się nazywa ? Jak ją odszukać ?

1

Wątpię żeby była taka funkcja publicznie dostępna. Prawdopodobnie przycisk ten po prostu wyświetla cyfry na ekranach „ręcznie”, a nie korzysta z jakiejś specjalnie w tym celu stworzonej funkcji WinAPI.

Tak myślę.

Zresztą co to za problem. Są funkcje do enumeracji monitorów. Na każdym wyświetl okienko z kolejną liczbą - może być tak jak to robi przycisk Identify - i masz to samo.

2

@PrzemysławWiśniewski - w ogóle nie potrzebujesz WinAPI;

Masz do dyspozycji właściwość Screen.MonitorCount z liczbą wszystkich ekranów, a także Screen.Monitors, umożliwiająca dostęp do obiektu konkretnego "monitora"; Aby pobrać fizyczne offsety ekranu oraz jego wymiary, możesz skorzystać z właściwości Screen.Monitors[].BoundsRect;

Co do samych cyferek, które system (przynajmniej XP) wyświetla na monitorach - wystarczą bitmapki z cyframi, jedna klasa okna z ustawionym kolorem przezroczystości; Tworzysz tyle okienek ile jest ekranów, każdemu ładujesz inny obrazek cyferki i wyświetlasz na odpowiednim ekranie;

W razie czego mogę coś skrobnąć.

0

Bardzo dziękuję za odpowiedzi.
O istnieniu zmiennej Screen wiem i z niej namiętnie korzystam :)
Przekopałem nawet klasę tej zmiennej w poszukiwaniu owej funkcjonalności, oczywiście bez rezultatu :/
Oczywiście idzie to zrobić na piechotę tak jak podaliście koledzy wyżej.
Jeszcze trochę przy tym posiedzę może GDI/GDI+ albo DirectDraw dysponuje taką funkcjonalnością …?

0

ale to jest jakieś 5 minut "pisania" takiej funkcjonalności. Od północy już byś to ze 20 razy napisał...

0

Panowie wiem że da się to zrobić w przysłowiowe 5 minut metodą podaną wyżej ale mam wytyczne aby identyfikację monitora zainicjować z systemu…
dlatego z tym walczę :/
Teraz przy pisaniu tego postu przypomniało mi się że jest takie narzędzie jak autoit w którym można podejrzeć co nieco pod systemem...

1

ale mam wytyczne aby identyfikację monitora zainicjować z systemu

Czyli by wykorzystać nieudokumentowaną funkcję, która może się nagle zmienić przy aktualizacji systemu. Zwłaszcza w Windows 10, gdzie w ramach automatycznej aktualizacji może wejść nowy build systemu.

Zwiń te wytyczne w kulkę i rzuć do kosza.

Pobranie listy ekranów jest za to udokumentowane, działa, a wyświetlenie na każdym cyferki nie stanowi żadnej trudności.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0