Resolution, Position und Frequenz aus Fenster und Vollbild Modus aus Prozesse lesen.
- VB.NET
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 66 Antworten in diesem Thema. Der letzte Beitrag () ist von Xiantrius.
-
-
Geht es denn nicht bei Spielen und FullScreen Exclusive? Für FullScreen könnte man auch versuchen mit GetWindowRect ein RECT zu hohlen und das mit den Monitor(en)-Bounds vergleichen. Aber zum einstellen sehe ich keine Mögklichkeit wenn das mit SetWindowPos nicht geht. Da müsste man an die SwapChain kommen, bei Directx11 vllt. leichter machar als bei DirectX12, denn da musst man alles um die Swapchain freigeben und neu laden, beim switch zwischen Fullscreen exclusive and anderen. Möglicherweise hat das schon jemand erlebt, das beim wechseln des Modus mit ALT+Enter ein DX12 spiel gecrasht ist.
Aber ich denke das einstellen bei DirectX Programmen wirste nicht umsetzen können, ich wüsste nur mit DLL Injection was, aber das gehört nicht in dieses Forum, zudem bräuchtest du kenntnisse für C++, DX 9, 11 und 12 um das hinbekommen zu können.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Takafusa“ ()
-
Darum mach ich das ja ungern. Ich weis das über solche Themen hier nicht so gerne gesprochen wird.
Aber ich sage dir, ich kenne jemand der das auf VB sogar macht und sich mit Assembly auskennt und injectet. Finde ich aber total kompliziert.
Wie du schon sagtest das Thema gehört nicht hierher daher vertiefe ich das nicht weiter.
GetWindowRect wäre meine einzige Hoffnung, wenn das da nicht funktioniert.... müsste mich da noch näher einarbeiten.
Aber heute nicht mehr, eventuel in laufe der Woche, oder Samstag. Muss ab morgen wieder arbeiten, sorry. -
Xiantrius schrieb:
Aber ich sage dir, ich kenne jemand der das auf VB sogar macht und sich mit Assembly auskennt und injectet. Finde ich aber total kompliziert.
Klar kannste auch mit VB eine DLL injecten, das ist kein Problem, geht auch mit java, Python etc...., aber eine .NET DLL wird nicht so einfach(wenn überhaupt) funktionieren. Diese müsstest du dann in C, C++, ASM oder sonstwas machen, wobei sich C++ super anbietet, da auch die Beispiele im SDK alle in C++ sind, wie auch die Doku.
Aber eigenlich ist es besser das nicht zu tun, was wenn ein Spieler gebannt wird, weil ein Spiel die Injektion bemerkt? Mann kann ja schauen welche Module geladen sind. Und das nur wegen eines Tools zum umstellen vom WindowState.
Ausserdem, die meisten Spiele haben bereits intern eine Einstellung für die Auflösung, oft auch für FS/Windowed, daher sehe ich eigendlich auch keinen Grund das extern zu managen.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Takafusa“ ()
-
Guten morgen,
Mein Plan war nicht von Spiel die Auflösung zu ändern, sondern solange das Spiel in Vollbildmodus ist den Desktop die selbe Auflösung und Frequenz zu verpassen.
Der Grund ist das die umschaltzeit kürzer ist wenn man mal ALT+TAB drückt um in Desktop zu switchen und wieder zurück ins Spiel.
Da ich auch alte Spiele habe wo das anders ist und die Auflösung sogar überhaupt nicht geändert werden kann. Ich nenne jetzt mal 2 Spiel wo ich es ganz sicher weiß. Sie heißen Pax Imperia, Master Of Orion 2 usw...
Mein Ziel ist es das mein Tool Automatisch erkennt das dieses Spiel in Vollbild ist und den Desktop ebenfalls umschaltet in die selbe Auflösung mit Frequenz und beim verlassen des Spiels wieder die Ursprüngliche Auflösung zurück stellt bevor ich das Spiel gestartet habe.
mfg.
Xiantrius -
Jetzt gerade fällt mir noch was ein, ich hatte damals ein Tool verwendet um einen Prozess einfacher debuggen zu können, damit kann man auch Fenstereigenschaften setzen, weiss jetzt nicht ob das nur bei starten ging, oder auch während der Prozess lief, aber ein Blick ins Projekt könnte dir weitere Hinweise geben. Damit hatte ich es erreicht, das ein FS-Exklusive Fenster, das sich intern nicht auf Windowed umstellen lies, windowed lief. Unterstützt glaub ich bis DX11.
github.com/DxWnd
-
DxWnd kenne ich. Beim starten eines Spiels wurde es ausgeführt.
Mir geht es nur darum das aus zu lesen. Will da dran nichts verändern.
Erfolg mit hilfe des Sources:
Jetzt funktioniert auch bei Fullscreen und bin froh das du mir ein Tip gegeben hast @Takafusa wegen GetWindowRect.
Das war wirklich der Schlüssel. Habe auch das Thread gefunden mit den Source Code.
Window Manager (open source)
VB.NET-Quellcode
- Public Class Form1
- Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Keys) As Short
- Private Function DoesProcessExists(ByVal PName As String) As Boolean
- Return System.Diagnostics.Process.GetProcessesByName(PName).Length >= 1
- End Function
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Prozessliste()
- End Sub
- Private Sub AutoSizeListViewColumns(oListView As ListView)
- SuspendLayout()
- For nCol = 0 To oListView.Columns.Count - 1
- oListView.Columns(nCol).Width = -1 'forces autosizing on column
- If oListView.Columns(nCol).Width < 100 Then
- oListView.Columns(nCol).Width = 100
- End If
- Next
- oListView.Refresh()
- ResumeLayout()
- End Sub
- Dim CheckList As Boolean
- Dim CheckColumn As Boolean
- Dim Alle_Prozesse As Process
- Private Sub Prozessliste()
- If CheckColumn = False Then
- CheckColumn = True
- ListView1.FullRowSelect = True
- ListView1.Columns.Add("FensterHandle")
- ListView1.Columns.Add("Fensternamen")
- ListView1.Columns.Add("Prozesse")
- ListView1.Columns.Add("Prozess-ID")
- ListView1.Columns.Add("RAM")
- ElseIf CheckColumn = True Then
- End If
- If CheckList = False Then
- 'CheckList = True
- ListView1.Items.Clear()
- For Each Alle_Prozesse In Process.GetProcesses()
- If Alle_Prozesse.MainWindowHandle.ToInt32 > 0 Then
- With ListView1.Items.Add(Hex(Alle_Prozesse.MainWindowHandle.ToString))
- .SubItems.Add(Alle_Prozesse.MainWindowTitle)
- .SubItems.Add(Alle_Prozesse.ProcessName)
- .SubItems.Add(Hex(Alle_Prozesse.Id.ToString))
- End With
- End If
- Next
- If ListView1.Items.Count > 0 Then
- AutoSizeListViewColumns(ListView1)
- End If
- End If
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Prozessliste()
- End Sub
- <Runtime.InteropServices.DllImport("user32.dll")>
- Private Shared Function GetWindowPlacement(ByVal hWnd As IntPtr, ByRef lpwndpl As WINDOWPLACEMENT) As Int32
- End Function
- <Runtime.InteropServices.DllImport("user32.dll")>
- Private Shared Function GetWindowRect(ByVal hWnd As IntPtr, ByRef lpRect As RECT) As Boolean
- End Function
- <Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential)>
- Public Structure RECT
- Public Left As Int32
- Public Top As Int32
- Public Right As Int32
- Public Bottom As Int32
- End Structure
- Dim XYRect As RECT
- Public Structure POINTAPI
- Public X As Int32
- Public Y As Int32
- End Structure
- Public Structure WINDOWPLACEMENT
- Public Length As Int32
- Public flags As Int32
- Public showCmd As Int32
- Public ptMinPosition As POINTAPI
- Public ptMaxPosition As POINTAPI
- Public rcNormalPosition As RECT
- Public rcDevice As RECT
- End Structure
- Dim intRet As Integer
- Dim wpTemp As WINDOWPLACEMENT
- Dim HWND As IntPtr
- Dim WindowMode_Information(1) As String
- Public Function GetWindowRectangle(ByVal hwnd As IntPtr) As Rectangle
- Dim XYRect As RECT
- GetWindowRect(hwnd, XYRect)
- Dim rr As New Rectangle(XYRect.Left, XYRect.Top, XYRect.Right - XYRect.Left, XYRect.Bottom - XYRect.Top)
- WindowMode_Information(0) = GetWindowRect(hwnd, XYRect) & vbNewLine & rr.ToString
- Return rr
- End Function
- Public Function IsFullscreen(ByVal hwnd As IntPtr) As String
- Dim R As Rectangle = GetWindowRectangle(hwnd)
- If R.Width >= My.Computer.Screen.Bounds.Width AndAlso R.Height >= My.Computer.Screen.Bounds.Height Then
- Return "Fullscreen"
- End If
- WindowMode_Information(1) = "Von Prozess Breite: " & R.Width & vbNewLine &
- "Von Prozess Höhe: " & R.Height & vbNewLine & vbNewLine &
- "Von Bildschirm Breite: " & My.Computer.Screen.Bounds.Width & vbNewLine &
- "Von Bildschirm Höhe: " & My.Computer.Screen.Bounds.Height
- Dim intRet As Integer
- Dim wpTemp As WINDOWPLACEMENT
- wpTemp.Length = System.Runtime.InteropServices.Marshal.SizeOf(wpTemp)
- intRet = GetWindowPlacement(hwnd, wpTemp)
- If wpTemp.showCmd = 1 Then
- Return "Normal"
- ElseIf wpTemp.showCmd = 2 Then
- Return "Minimized"
- ElseIf wpTemp.showCmd = 3 Then
- Return "Maximized"
- End If
- Return "Error"
- End Function
- Private Sub CheckWindowMode()
- TextBox3.Text = IsFullscreen(HWND)
- TextBox4.Text = IsFullscreen(HWND) & vbNewLine & WindowMode_Information(0) & vbNewLine & vbNewLine & WindowMode_Information(1)
- End Sub
- Dim Prozess() As Process
- Private Sub PrüfeWindowedModus()
- 'With ListView1.Items.Add(Hex(Alle_Prozesse.MainWindowHandle.ToString))
- If ListView1.SelectedItems.Count > 0 Then
- For Each Prozess As Process In Process.GetProcessesByName(ListView1.SelectedItems.Item(0).SubItems(2).Text)
- TextBox1.Text = Prozess.ProcessName
- wpTemp.Length = System.Runtime.InteropServices.Marshal.SizeOf(wpTemp)
- intRet = GetWindowPlacement(Prozess.MainWindowHandle, wpTemp)
- HWND = Prozess.MainWindowHandle
- If Not Prozess.MainWindowHandle = IntPtr.Zero Then
- TextBox2.Text = Hex(Prozess.MainWindowHandle.ToString)
- CheckWindowMode()
- End If
- Next
- End If
- End Class
Mfg.
Xiantrius
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Xiantrius“ ()
-
Achso, du willst nur auslesen, dachte auch einstellen. Aber schön das du dein Ziel ereicht hast, wobei ich gerade noch was zum verbessern sehe.
Das hier:
könnte in die Hose gehen, ich weiss nicht welchen Screen dir My.Computer gibt, was wenn mehrere monitor da sind? Ich denke du wirst den Hauptbildschirm bekommen, bei mir im Garten z.b. ist der Hauptmonitor FHD, der 2. Screen(Beamer) UHD, wäre dan nun ein ein Fenster >= FHD drauf, würdest du Fullscreen bekommen, obwohl es nicht so ist. Um das auszumerzen, kannste schauen, ob die X/Y Koordinaten in den Screen.Bounds sind. Hatte die Screen Klasse ganz vergessen, wollte dir schon GetMonitorFromPoint empfehlen, täte auch gehen, aber umständlicher.
So kannst du ermitteln auf welchen Screen das Fenster ist und hast dann die richtigen Werte. Um noch detailiertere Infos zu bekommen, kannst du auch, GetClientRect nutzen, wenn dieses Rect den Screenbounds entspricht ist das Fenster FullScreen Borderless, stimmt GetWindowRect mit den Bounds überein, ist es Fullscreen mit Border.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Takafusa“ ()
-
Hab mal das Thema angepasst, weil das was ich vor hatte nicht unbedingt wichtig ist.
Vorweg gesagt gebe ich dir recht mit My.Computer funktioniert es zwar, aber ab den 2 Monitor wäre es tatsächlich ein problem.
@Takafusa
@-Franky-
oder jemand anders der das probieren will.
Hat jemand zufällig 2 Monitore und würde den modifizierten Code testen?
Der Wert 0 sollte für den 1 Monitor stehen wenn der Cursor dort angezeigt wird.
Der Wert 1 sollte für den 2 Monitor stehen wenn der Cursor dort angezeigt wird.
Der Wert 2 sollte für den 3 Monitor stehen wenn der Cursor dort angezeigt wird usw....
Leider kann ich das nicht für den 2 Monitor testen ob der Code auch wirklich greift sollte der Cursor auf den 2 Bildschirm übergehen, da ich kein 2 Monitor habe.
VB.NET-Quellcode
- Private Sub Auslesen
- TextBox1.Text = IsFullscreen(HWND)
- End Sub
- Public Function IsFullscreen(ByVal hwnd As IntPtr) As String
- Dim R As Rectangle = GetWindowRectangle(hwnd)
- Dim screens() As Screen = Screen.AllScreens
- For i As Integer = 0 To screens.Length - 1
- If screens(i).Bounds.Contains(Cursor.Position) AndAlso screens(i).Bounds.Contains(Cursor.Position) Then
- If R.Width >= screens(i).Bounds.Width AndAlso R.Height >= screens(i).Bounds.Height Then
- Return "Monitor=" & i & ", FensterMode=Fullscreen"
- End If
- End If
- 'If R.Width >= My.Computer.Screen.Bounds.Width AndAlso R.Height >= My.Computer.Screen.Bounds.Height Then
- ' Return "Fullscreen"
- 'End If
- WindowMode_Information(1) = "Von Prozess Breite: " & R.Width & vbNewLine &
- "Von Prozess Höhe: " & R.Height & vbNewLine & vbNewLine &
- "Von Bildschirm Breite: " & My.Computer.Screen.Bounds.Width & vbNewLine &
- "Von Bildschirm Höhe: " & My.Computer.Screen.Bounds.Height
- Dim intRet As Integer
- Dim wpTemp As WINDOWPLACEMENT
- wpTemp.Length = System.Runtime.InteropServices.Marshal.SizeOf(wpTemp)
- intRet = GetWindowPlacement(hwnd, wpTemp)
- If wpTemp.showCmd = 1 Then
- Return "Monitor: " & i & ", FensterMode=Normal"
- ElseIf wpTemp.showCmd = 2 Then
- Return "Monitor: " & i & ", FensterMode=Minimized"
- ElseIf wpTemp.showCmd = 3 Then
- Return "Monitor: " & i & ", FensterMode=Maximized"
- End If
- Next
- Return "Error"
- End Function
Als nextes wäre noch eine wichtige sache die fehlt, kann man irgendwie die aktuelle Monitor Frequenz so wie beim Desktop von einer Form die in Vollbild ist auslesen?
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Xiantrius“ ()
-
Xiantrius schrieb:
For i As Integer = 0 To screens.Length - 1
If screens(i).Bounds.Contains(Cursor.Position) AndAlso screens(i).Bounds.Contains(Cursor.Position) Then
If R.Width >= screens(i).Bounds.Width AndAlso R.Height >= screens(i).Bounds.Height Then
Return "Monitor=" & i & ", FensterMode=Fullscreen"
End If
End If
Da hat sich ein Copy&Paste Fehler eingeschlichen
Die CursorPosition hab ich nur genommen um zu verdeutlichen wie du einfach testen kannst ob einPoint
(System.Drawing.Point, nicht der, den du von der WinAPI kennst) in einem Rectangle ist. Anstatt Cursor.Position, nimmste die Fensterkoordinatennew Point(fenster.location.x, fenster.location.y)
Ich dachte das ist offensichtlich, beim nächsten mal erwähne ich das besser.
Warum testest du hier doppelt?
Kurze erklärung, Bounds ist ein Rectangle, das bietet die Funktion Contains um zu schauen, ob sich ein Punkt innerhalb dieses Rectangle befindet. Cursor.Position ist ein Point.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Takafusa“ ()
-
haste den code getestet? was kommt den raus?
schau hier
hab My.Computer raus genommen und mit screens ersetzt. Ich dachte deine abfrage muss mit rein damit er auf den anderen Display den Cursor erkennt und drauf reagiert. War wohl ein denkfehler? Kann es halt nicht testen da ich nur 1 Monitor habe.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Xiantrius“ ()
-
Diese Zeile versaut es dir u.U. hin und wieder:
Da du nur 1 Screen hast, konnte es dir beim normalen Programmablauf nicht auffallen, was wenn der Cursor auf Monitor 0 ist, aber das Fenster auf 1 oder 2? Siehe oben was ich sagte mit den Fensterkoordinaten anstatt Cursor.Position.
Das ist auch weniger Optimal
Du solltest schon testen ob die Werte gleich sind, nicht grösser gleich. Stell dir vor FensterX ist auf screen 1 mit FHD Auflösng, fenster position x=900, y=900, width = 1920, height = 1080
Ist definitiv kein FullScreen, nur ein verschobenes Fenster, würde dir aber fullscreen ausgeben.
Edit @Xiantrius
Ich habe mal eben selbst was probiert, dabei habe ich festgestellt, das GetWindowRect nicht 100% korrekte daten liefert, zumindest nicht korrekt in dem Sinne wie wir es gedacht haben. Habe ich ein Fenster Maximiert, bekomme ich diese rect raus,Left: -8, Top: -8, Right: 3848, Bottom: 2128
, habe auch schon recherchiert, swcheint sich entweder um eine DPI Sache zu handeln, auch was von transparenten bereich der Border hab ich was gelesen, ich schau mal ob sich was machen lässt.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Takafusa“ ()
-
Das ist aber fast das gleiche wie das. Nur das es nur für 1 Monitor ist.
Was schlägst du also vor? hab gerade echt keine idee wie es anders gehen soll...
Komisch hat aber immer funktioniert wenn ich ein Spiel in Vollbild hatte.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Xiantrius“ ()
-
Takafusa schrieb:
Edit @Xiantrius
Ich habe mal eben selbst was probiert, dabei habe ich festgestellt, das GetWindowRect nicht 100% korrekte daten liefert, zumindest nicht korrekt in dem Sinne wie wir es gedacht haben. Habe ich ein Fenster Maximiert, bekomme ich diese rect raus, Left: -8, Top: -8, Right: 3848, Bottom: 2128, habe auch schon recherchiert, swcheint sich entweder um eine DPI Sache zu handeln, auch was von transparenten bereich der Border hab ich was gelesen, ich schau mal ob sich was machen lässt.
Ich hatte da was festgestellt, bin auf spurensuche. -
@Takafusa
Ich muss dir mitteilen bei Spy++ ist der wert genauso zb.: bei Notepad++
Wenn ich es maximiere bei Notepad++
(-8, -8)-(1928, 1048), 1936x1056 (Maximiert)
Ok hier ist eine kleine abweichung mit der X Wert der ist 0
Bei Firefox wenn es maximiert ist.
(0, -8)-(1920, 1040), 1920x1048
Vielleicht ist im code irgendwo ein fehler drin, wenn die Anzeige noch nicht ganz stimmt.
mein tool macht X und Y auf -8 bei Firefox.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Xiantrius“ ()
-
-
Ich hab jetzt auch mal geschaut, was mir GetClirntRect ausgibt, da stimmt die Breite, aber in der Höhe habe ich eine differenz zur Screen.WorkingArea, hat sicher mit der Taskbar zu tun. Langsam krieg ich zu viel mit Windows, sollte ich verbannen und nur noch Linux nutzen.
Ich werde morgen noch mal weiter schauen ob man da nicht was brauchbares hinbekommt. Ich mach jetzt erstmal mit meinem ESP32 Fahrradtacho weiter(überträgt daten via BlueTooth zum Handy am lenker) , muss sowas wie ein Ringbuffer einbauen, damit der nicht mehr so rumspringt bei niedrigen Geschindigkeiten.
@-Franky- die Idee sollte funktionieren, ich probier das doch eben noch.
Edit @Xiantrius (code noch mal geändert)
So, das sollte gehen. Finde ich zwar nicht so schön, mit dem herumrechnen, aber eine lösung ist besser als keine. Funktioniert zumindest ohne diese >= Geschichte. So nun zum Tacho.
VB.NET-Quellcode
- Option Strict On
- Imports System.Runtime.InteropServices
- Public Class Form1
- <DllImport("user32.dll")>
- Private Shared Function GetWindowRect(ByVal hWnd As IntPtr, ByRef lpRect As RECT) As Boolean
- End Function
- Public Structure RECT
- Public Left As Integer
- Public Top As Integer
- Public Right As Integer
- Public Bottom As Integer
- Public Overrides Function ToString() As String
- Return String.Format("Left: {0}, Top: {1}, Right: {2}, Bottom: {3}", Left, Top, Right, Bottom)
- End Function
- End Structure
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- Dim p() As Process = Process.GetProcessesByName("notepad++")
- Dim rect As New RECT
- If GetWindowRect(p(0).MainWindowHandle, rect) Then
- If rect.Left < 0 Then
- rect.Right += rect.Left
- rect.Left = 0
- End If
- If rect.Top < 0 Then
- rect.Bottom += rect.Top
- rect.Top = 0
- End If
- Dim screens() As Screen = Screen.AllScreens
- For i As Integer = 0 To screens.Length - 1
- If screens(i).WorkingArea.Contains(New Point(rect.Left, rect.Top)) Then
- Dim r As Rectangle = screens(i).WorkingArea
- If r.X = rect.Left AndAlso r.Y = rect.Top AndAlso r.Width = rect.Right AndAlso r.Height = rect.Bottom Then
- Debug.WriteLine("FullScreen")
- End If
- End If
- Next
- End If
- End Sub
- End Class
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Takafusa“ ()
-
hmm jetzt macht aus Maximized ein Fullscreen was aber nicht stimmt.
Nehme ich den anderen Code wieder wird das mit den Fullscreen nicht bei Maximized dargestellt.
Zwar zeigt er an X -8 Y -8 aber er liest wenigstens das richtig aus das er genau das anzeigt wie ich die es Ausführe.
Lese ich ein echten Fullscreen aus dann zeigt er vollbild an.
bei maximiert, Normal und minimiert funktioniert das ebenfalls mit der anzeige korrekt zumindest bei einen Monitor, bis auf X, Y, Width und Height werden etwas anders angezeigt.
Das mit den berechnen ist wohl nicht ganz die richtige methode, aber naja du sagtest ja bereits der code ist nicht schön...
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Xiantrius“ ()
-
Du liest ja den WindowState bereits aus, wenn dieser Maximized ist, brauchste ja nicht mehr auf FullScreen prüfen, als testen ob Maximized, wenn nicht kannste auf Fullsreen testen. Zumindest sollte es bei Fenstern die nicht Maximized sind, aber Fullscreen windowed(ohne border) sind nun auch klappen. Möglicherweise auch bei spielen die Fullscreenexclusive sind.(mit spielen hatte ich nicht getestet)
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Takafusa“ ()
-
Hab dein Code getestet er zeigt bei Fullscreen Spiele
Normal an.
Bei mein überarbeiteten Code zeigt er Fullscreen, wo dir nicht so ganz gefallen hat.
Vielleicht ist das bei der API normal das die Werte so angezeigt werden, ohne selbst dran rum zu rechnen und darum wird das korrekt dargestellt...
Wenn ich nur wüsste wo amsonsten das problem liegen könnte...
Weil ich nur 1 Monitor habe mache ich folgendes:
Ich mach da ein trick um den Fullscreen sehen zu können und zwar lasse ich die sub über ein timer laufen wo er ausliest und mach eine keys abfrage und wenn das spiel in vollbild ist dann drücke ich die tasten. dann zeigt er es wenn ich das spiel wieder minimiere das es in vollbild war.
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Xiantrius“ ()
-
Ähnliche Themen
-
xD Hacker - - Sonstige Problemstellungen