J'aime jouer à des jeux informatiques en mode fenêtré, par opposition au plein écran. Je n'aime pas regarder la barre de titre, le cadre et d'autres éléments indésirables de l'interface utilisateur. De plus, je n'aime pas voir d'autres choses sur mon bureau autour de la fenêtre. Existe-t-il un programme Windows simple qui supprime le chrome de l'interface utilisateur d'une fenêtre arbitraire d'une autre application? Des points supplémentaires pour un moyen facile de placer un écran noir sous la fenêtre en masquant le bureau.
Remarque: je cherche spécifiquement à gérer les fenêtres plus petites que la taille de mon bureau. Il existe une variété d'options 'maximisées par fenêtre' qui font d'une fenêtre exactement la taille du bureau et positionnée de manière à ce que toutes les décorations de l'interface utilisateur soient hors écran. (Par exemple: ShiftWindow). J'essaie de supprimer toutes les décorations d'une fenêtre plus petite que la taille d'un bureau.
Juste quelque chose de petit que j'ai fait pour mes buts après avoir lu le commentaire de voodoomsr. Le fait d'aller coin gauche et redimensionne à ma résolution complète. Restaure comme avant. Ne peut pas être utilisé avec plusieurs applications en même temps.
Merci voodoomsr
;-Caption
LWIN & LButton::
SetTitleMatchMode, 2
WinGetPos, X, Y, Width, Height, A
WinSet, Style, -0xC00000, A
WinMove,A,,0,0,1920,1080
return
;
;+Caption
LWIN & RButton::
WinSet, Style, +0xC00000, A
WinMove,A,,%X%,%Y%,%Width%,%Height%
Sleep, 1000
Sleep, 1000
return
;
MODIFIER:
TBH J'ai essayé de trouver quelque chose d'utile pour les fenêtres qui ne redimensionne pas mais ne trouve rien (ne dis pas que c'est impossible, c'était en fait mon premier script Autohotkey).
De toute façon, j’ai fait quelques ajustements comme supprimer les temps de repos inutiles, en utilisant le style suggéré par Nelson et en le faisant fonctionner avec un seul bouton afin que le double-clic ne remplace pas les variables sauvegardées.
#SingleInstance force
; Exclude the desktop
; Note: Also excludes "My Computer" browsing windows.
; Better detection might be needed to differentiate the parent Explorer "ahk_id" from child windows.
; Also seems to disregard accidental Metro interface clicks (Win 8+)
#IfWinNotActive ahk_exe Explorer.exe
; Set your resolution (minus decorations like start bars if you wish to leave those on-screen.
w = 1920
h = 1080
w_wasted = 6 ; width used by resize bars
h_wasted = 29 ; width used by caption frame and resize bars
; Window to fullscreen
LWIN & LButton::
SetTitleMatchMode, 2
WinGet Style, Style, A
; 0xC40000 = WS_BORDER (0x800000) + WS_DLGFRAME (0x400000) + WS_SIZEBOX aka WS_THICKFRAME (0x040000)
if(Style & 0xC00000) { ; if has WS_CAPTION. Ignore sizebox value.
WinGetPos, X, Y, Width, Height, A
WinSet, Style, -0xC40000, A ; removes attributes, including sizebox...doesn't do a strict subtraction
WinMove,A,,0,0,w,h
} else {
WinSet, Style, +0xC40000, A
; Note: will set WS_SIZEBOX even if not previously present
if(Width > w - w_wasted) {
Width := %w%-%w_wasted%
}
if(Height > h - h_wasted) {
Height := %h%-%h_wasted%
}
WinMove,A,,%X%,%Y%,%Width%,%Height%
}
WinSet Redraw
Return
utilisez simplement ce script autohotkey:
;-Caption
LWIN & LButton::
WinSet, Style, -0xC00000, A
return
;
;+Caption
LWIN & RButton::
WinSet, Style, +0xC00000, A
return
;
vous pouvez télécharger autohotkey à partir d’ici http://www.autohotkey.com/download/ . Enregistrez le fichier avec une extension .ahk et exécutez-le comme n'importe quelle application.
Usage:
supprimer la barre de titre LWindowButton + clic gauche
restaurer la barre de titre LWindowButton + Clic droit
here est un programme qui peut supprimer la barre de titre de n’importe quelle fenêtre. Pour ce faire, vous devez sélectionner la fenêtre des jeux dans l'arborescence WinExplorer, basculer vers l'onglet "Style" et cocher WS_DLGFRAME.
Utilisation de AutoHotKey et d’une barre des tâches à masquer automatiquement.
LWin & f::
WinGet Style, Style, A
if(Style & 0xC40000) {
WinSet, Style, -0xC40000, A
WinMaximize, A
} else {
WinSet, Style, +0xC40000, A
WinRestore, A
}
return
Pourquoi utiliser WinMaxmize
? Voir les commentaires de la réponse de Asd .
CutAway de Skrommel peut faire ce que vous voulez.
j'ai trouvé ceci sur les forums HydrogenAudio:
Voici une capture d'écran de Foobar 2000 sans barre de titre de fenêtre:
Le programme utilisé est appelé Desktops Flash (shareware)
Malheureusement, ils ne précisent pas vraiment les paramètres du programme pour atteindre l'objectif, mais plutôt le problème du déplacement de fenêtres sans barre de titre. WindowBlinds est également mentionné.
Je ne suis plus sous Windows, je ne peux donc pas tester cela, mais Borderless Gaming est une application open source prometteuse qui résout ce problème. Il affiche une liste des applications en cours d'exécution et vous permet d'en sélectionner une pour manipuler les fenêtres.
Si vous pouvez coder et que vous utilisez Vista ou une version plus récente, il est assez facile de créer un programme qui enregistre une vignette DWM dans l'application, puis vous pouvez choisir d'afficher uniquement le contenu de la fenêtre sans bordures dans cette vignette. Vous devez également transmettre toutes les entrées de ce programme superposé au jeu d'une manière ou d'une autre, mais ce n'est pas très compliqué non plus.
J'avais des problèmes avec une fenêtre particulière, qui avec la méthode de @ affiish et le framework de Mikuz prendrait la taille de fenêtre correcte pour une fenêtre maximisée, mais n'allait pas au bon endroit.
Voici ma solution ahk
;
; AutoHotkey Version: 1.x
; Language: English
; Platform: Win2000+
; Author: mpag derived from Mikuz
;
; Script Function:
; Window to "supermaximized". mpag solution from http://superuser.com/q/38687/319748
; If you want fullscreen (no toolbars) try replacing calls to function WinSuperMax with WinFullscreen
; This script may still be in development
; Bugs:
; 1) Doesn't display scrollbars in standard maximized screen if it lost them upon supermax (unless you restore and re-maximize)
; 2) If supermaxing a background window that has menus within the Caption bar (e.g. firefox), you functionally just maximize but lose the min/restore/close buttons. Probably has something to do with the Style value.
; Memory Management/Clarity:
; 3) Doesn't clear G_ variable values before each run. if the number of monitors (virtual or otherwise) reduces, values for higher monitor numbers will still be set, but MonCount should still be valid and restrict use. also picks first match.
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance force
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
MonGetCoords() {
global ; for setting
SysGet G_MonCount, MonitorCount
loop %G_MonCount% {
SysGet G_MonWA%A_Index%, MonitorWorkArea, %A_Index%
SysGet G_MonFS%A_Index%, Monitor, %A_Index%
}
}
GetMon4xy(ByRef x="", ByRef y="", ByRef m="") {
global ; getting
local l:=0, u:=0
m := 0 ; even if sent, we want to clear it
loop %G_MonCount% {
l := G_MonFS%A_Index%Left
u := G_MonFS%A_Index%Right
if x not between %l% and %u%
continue
l := G_MonFS%A_Index%Top
u := G_MonFS%A_Index%Bottom
if y not between %l% and %u%
continue
m := A_Index
break
}
}
WinSetSz(d, mp) {
global
local l, r, t, b
l := %mp%Left
r := %mp%Right
t := %mp%Top
b := %mp%Bottom
WinMove ahk_id %d%, , l, t, r - l + 1, b - t + 1
return
}
WinSuperMax(d, m) {
mp = G_MonWA%m% ; the text of the name of the pointer
WinSetSz(d, mp)
return
}
WinFullscreen(d, m) {
mp = G_MonFS%m%
WinSetSz(d, mp)
return
}
; Exclude the desktop
; Note: Also excludes "My Computer" browsing windows.
; Better detection might be needed to differentiate the parent Explorer "ahk_id" from child windows.
; Also seems to disregard accidental Metro interface clicks (Win 8+).
; May wish to verify that not only is Explorer not the active window, but it wasn't the clicked-in window.
#IfWinNotActive ahk_exe Explorer.exe
LWIN & LButton::
RCtrl & LButton::
SetTitleMatchMode, 2
; monitor bounds and clicked window hwnd
cm = %A_CoordModeMouse% ; not autoset in older AHK, but shouldn't matter as default is Screen
CoordMode Mouse, Screen
MouseGetPos mpx, mpy, d ; was d := WinExist("A") but that would go for the active window, rather than the clicked-in-window
CoordMode Mouse, %cm%
MonGetCoords()
GetMon4xy(mpx, mpy, mpm)
; toggle the style
WinGet Style, Style, ahk_id %d%
; 0xC40000 = WS_BORDER (0x800000) + WS_DLGFRAME (0x400000) + WS_SIZEBOX or WS_THICKFRAME (0x040000)
if(Style & 0xC00000) { ; if has WS_CAPTION (WS_BORDER+WS_DLGFRAME) we want to supermax it
v%d%decs := Style & 0x040000 ; decorations, specifically WS_SIZEBOX
WinGet v%d%mm, MinMax, ahk_id %d% ; -1=min, 0=normal, 1=max
WinSet Style, -0xC40000, ahk_id %d% ; removes most window decoration, including WS_SIZEBOX if applicable
; if a "normal" window, get the coords and maximize. If minimized, maximize. If maximized, make sure correctly positioned
if(!v%d%mm) { ; normal window
WinGetPos v%d%x, v%d%y, v%d%w, v%d%h, ahk_id %d%
} if(v%d%mm < 1) { ; normal or minimized
WinMaximize ahk_id %d% ; set flag to maximized to preserve windows' restore button functionality upon un-supermax to maximized screen
}
WinSuperMax(d, mpm) ; it is now supermaximized. Now make sure it's positioned correctly
} else { ; it's super-maximized already, so need to restore it to former position.
if (v%d%decs) {
WinSet Style, +0xC40000, A ; set WS_SIZEBOX and WS_CAPTION
} else {
WinSet Style, +0xC00000, A ; set only WS_CAPTION
}
if(v%d%mm = 0) { ; not either previously Maximized nor previously Minimized
WinRestore ahk_id %d% ; restore standard window + set MinMax flag to non-maxxed
} else {
WinSuperMax(d, mpm) ; Maximized flag should still be set
}
}
WinSet Redraw
; ListVars
Return