Potrzebuję zmienić rozdzielczość ekranu za pomocą mojej aplikacji.Uzyskiwanie rozdzielczości ekranu
Jak:
- Czytaj bieżącą rozdzielczość
- zmieniając go używając mojego wniosku i następnie powrót do prądu na wyjściu.
Dzięki Furqan
Potrzebuję zmienić rozdzielczość ekranu za pomocą mojej aplikacji.Uzyskiwanie rozdzielczości ekranu
Jak:
Dzięki Furqan
1) W jaki sposób mogę odczytać aktualną rozdzielczość ekranu ?
Uzyskanie aktualnej rozdzielczości ekranu jest łatwe i wbudowane w strukturę bez konieczności zagłębiania się w coś podobnego do API GetSystemMetrics
. Klasa Screen
zawiera informacje o wszystkich urządzeniach wyświetlających podłączonych do systemu. Tak aby określić rozdzielczość monitora podstawowego, można użyć coś takiego:
Dim screenWidth as Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenHeight as Integer = Screen.PrimaryScreen.Bounds.Height
do czynienia z wieloma monitorami, spojrzeć na własność Screen.AllScreens
, która zwraca tablicę Screen
obiektów odpowiadających każdemu z monitorów podłączonych do system. Następnie można określić (przy użyciu powyższego kodu) rozdzielczość każdego z wyświetlaczy podłączonych do komputera, wykonując pętlę z tablicy obiektów o numerach Screen
.
2) Jak zmienić bieżącą rozdzielczość ekranu z mojej aplikacji VB.NET?
Zmiana rozdzielczości ekranu jest nieco trudniejsza. Zanim przejdziemy dalej, chciałbym Cię ostrzec, że aplikacja dostosowująca rozdzielczość wyświetlania użytkownika jest nieoczekiwana i potencjalnie creates a hostile user environment. Wiem, że nie skorzystałbym z aplikacji, która zmieniła rozdzielczość ekranu bez pozwolenia, i bardzo długo zastanawiałabym się nad wykorzystaniem tego, co mnie do tego wymagało. Jeśli próbujesz zrobić wygaszacz ekranu, prawdopodobnie istnieje lepszy i łatwiejszy sposób robienia tego, co chcesz. Mając to na uwadze, można to zrobić z VB.NET, jeśli chcesz P/Invoke kilka funkcji z Windows API.
Najprostszym sposobem, jeśli martwisz się tylko przypadkiem jednego monitora, jest użycie funkcji ChangeDisplaySettings
, która pozwala określić tryb graficzny domyślnego wyświetlacza (tylko główny monitor użytkownika).
Aby obsłużyć obudowę z wieloma monitorami, musisz użyć funkcji EnumDisplayDevices
, aby uzyskać informacje o wszystkich urządzeniach wyświetlających podłączonych do komputera oraz o funkcji ChangeDisplaySettingsEx
w celu zmiany określonego ekranu.
Sprawdź, czy pinvoke.net zadeklarować podpisy wywołań interfejsu API Windows w VB.NET. Wyszukiwarka Google pojawiła się this thread, mimo że nie zweryfikowaliśmy dostarczonego przez nią przykładowego kodu.
Aby zmodyfikować rozdzielczość ekranu tylko wtedy, gdy aplikacja jest uruchomiona, a następnie przywrócić ją po zamknięciu programu przez użytkownika, należy zapisać bieżące ustawienia ekranu przed ich zmodyfikowaniem, a następnie odtworzeniem (przy użyciu tej samej metody połączenia) po wyjściu aplikacji.
Jak zdobyć aktualną rozdzielczość ekranu
Public Function ScreenResolution() As String
Dim intX As Integer = Screen.PrimaryScreen.Bounds.Width
Dim intY As Integer = Screen.PrimaryScreen.Bounds.Height
Return intX & " × " & intY
End Function
Jak zmienić bieżącą rozdzielczość ekranu - solution
+1 ... aplikacja nie zmieniła mojej rozdzielczości ekranu! Nawet gry (używane?) Całkowicie to wykręcają. –