Willkommen im cgboard - classic games Forum! Deine gemütliche Retro Gaming Community. Besuche uns auch im Discord Chat.

Borderless AutoHotKey Script
#1
4
Habe letztens einen schönen AutoHotKey Skript gefunden auf PCGamingWiki, bei dem man mit dem drücken von F12 ein Randloses Vollbild erzwingen kann und wieder deaktivieren kann.

Code:
#UseHook On
F12::
WinGet, TempWindowID, ID, A
If (WindowID != TempWindowID)
{
  WindowID:=TempWindowID
  WindowState:=0
}
If (WindowState != 1)
{
  WinGetPos, WinPosX, WinPosY, WindowWidth, WindowHeight, ahk_id %WindowID%
  WinSet, Style, -0xC40000, ahk_id %WindowID%
  WinMove, ahk_id %WindowID%, , 0, 0, A_ScreenWidth, A_ScreenHeight
  ;Hide Windows Task Bar and Start Button. (Remove the following two lines if you don't want that behaviour)
  WinHide ahk_class Shell_TrayWnd
  WinHide Start ahk_class Button
}
Else
{
  WinSet, Style, +0xC40000, ahk_id %WindowID%
  WinMove, ahk_id %WindowID%, , WinPosX, WinPosY, WindowWidth, WindowHeight
  ;Show the task bar again
  WinShow ahk_class Shell_TrayWnd
  WinShow Start ahk_class Button
}
WindowState:=!WindowState
return

Auf Basis dieses Codes habe ich ein ähnliches Verhalten mit AutoHotKey geschrieben das nicht beim drücken von F12 aktiviert und deaktiviert wird.
Dieses Skript arbeitet dann wie folgt:
- Spiel wird gestartet
- Sobald das Spielfenster aufgebaut ist, und den Fokus hat wird das Skript den Randlos Vollbild Modus aktivieren
- Sobald aber das Spiel beendet wird oder den Fokus verliert (weil man raus Tabt), dann wird alles wieder auf Standard hergestellt. Sprich Spiel ist im Fenstermodus, Taskleiste wieder da. usw.
- Das Skript beendet sich dann selbst, sobald das Spiel beendet wird.

Habe das Skript mal mit dem Beispiel anhand des Spiels Desperados2 ausprobiert:
Code:
GameExe := (A_IsCompiled && InStr(A_WorkingDir, "steamapps"))
    ? A_WorkingDir . "\Desperados2.exe"
    : A_ScriptDir . "\Desperados2.exe"

#Persistent
#UseHook On

global TargetWin := "ahk_exe Desperados2.exe"
global WindowID := 0
global WindowState := 0
global WinPosX := 0, WinPosY := 0, WindowWidth := 0, WindowHeight := 0
global WasActive := 0

Run, "%GameExe%"  ; Startet Desperados2.exe aus dem Skript-Ordner
WinWait, %TargetWin%
WinActivate, %TargetWin%
WinWaitActive, %TargetWin%

Gosub, ApplyFullscreen
SetTimer, WatchWindow, 300
return

ApplyFullscreen:
    WinGet, WindowID, ID, %TargetWin%
    if (!WindowID)
        return

    WinGetPos, WinPosX, WinPosY, WindowWidth, WindowHeight, ahk_id %WindowID%
    WinSet, Style, -0xC40000, ahk_id %WindowID%
    WinMove, ahk_id %WindowID%, , 0, 0, %A_ScreenWidth%, %A_ScreenHeight%
    WinHide, ahk_class Shell_TrayWnd
    WinHide, ahk_class Shell_SecondaryTrayWnd
    WindowState := 1
return

RestoreWindow:
    if (!WindowID)
        return

    WinSet, Style, +0xC40000, ahk_id %WindowID%
    WinMove, ahk_id %WindowID%, , %WinPosX%, %WinPosY%, %WindowWidth%, %WindowHeight%
    WinShow, ahk_class Shell_TrayWnd
    WinShow, ahk_class Shell_SecondaryTrayWnd
    WindowState := 0
return

WatchWindow:
    if !WinExist(TargetWin)
    {
        Gosub, RestoreWindow
        SetTimer, WatchWindow, Off
        ExitApp
    }

    if WinActive(TargetWin)
    {
        if (WasActive = 0)
            Gosub, ApplyFullscreen
        WasActive := 1
    }
    else
    {
        if (WasActive = 1)
            Gosub, RestoreWindow
        WasActive := 0
    }
return


Wollte das nur mal teilen, weil man damit eventuell seine Game Projekte so ein wenig aufwerten kann ohne gleich ein zusätzliches Tool installieren zu müssen wie Borderless Gaming, etc.
Weil die EXE Dateien von AHK kann man ja dann teilen für die Games.
Zitieren
#2
0
Nehm ich mal mit, danke dafür!
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  AutoHotkey Frage (Französische Accente) SagaraS 0 766 24.06.2023, 20:49
Letzter Beitrag: SagaraS
  Meine dumme Ex-Script taku-aoi 20 11.701 23.09.2011, 22:00
Letzter Beitrag: taku-aoi
  [Suche] Umfrage Script Rocco 2 3.148 05.03.2008, 11:42
Letzter Beitrag: Rocco
  [Linux] Rapidshare Batch-Upload-Script E-Lite 2 2.371 15.09.2006, 20:15
Letzter Beitrag: E-Lite
  Script für Bilderanzeige KryshyDx 3 3.737 31.07.2003, 19:55
Letzter Beitrag: ThE_nEwBiE

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste