it-swarm.asia

برنامج ويندوز لإزالة شريط العنوان ، والإطار ، وما إلى ذلك من نافذة؟

أحب لعب ألعاب الكمبيوتر في وضع إطارات ، بدلاً من ملء الشاشة. لا أحب التحديق في شريط العنوان والإطار وغيره من خردة واجهة المستخدم. أنا أيضًا لا أحب رؤية أشياء أخرى على سطح المكتب حول النافذة. هل يوجد برنامج Windows بسيط سيؤدي إلى إخراج واجهة المستخدم من نافذة تعسفية من بعض التطبيقات الأخرى؟ نقاط إضافية للحصول على طريقة سهلة لوضع شاشة سوداء أسفل النافذة ، مع إخفاء سطح المكتب.

ملاحظة: أنا أبحث بشكل خاص للتعامل مع الإطارات الأصغر من حجم سطح المكتب. هناك مجموعة متنوعة من خيارات "تكبير النافذة" التي تجعل من نافذة حجم سطح المكتب بالضبط ، وموضوعة بحيث تكون جميع ديكورات واجهة المستخدم خارج الشاشة. (على سبيل المثال: ShiftWindow). أحاول تجريد جميع الزخارف من نافذة أصغر من حجم سطح المكتب.

29
Nelson

مجرد شيء صغير أدليت به لأغراضي بعد قراءة تعليق voodoomsr ل. يجعلها تسير في الزاوية اليسرى وتغيير حجمها إلى دقة كاملة. يعيد كما كان من قبل. لا يمكن استخدامها مع تطبيقات متعددة في نفس الوقت.

شكرا 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
;

تصحيح:

TBH حاولت أن أجد شيئًا مفيدًا للنوافذ التي لا يتغير حجمها ولكن لا يمكنني العثور على أي شيء (لا أقول أنه غير ممكن ، كان هذا بالفعل أول نص أوتوماتيكي).

حسنًا ، على أي حال ، قمت ببعض التعديلات مثل إزالة حالات النوم غير الضرورية ، باستخدام النمط الذي اقترحه نيلسون وجعله يعمل مع زر واحد فقط حتى لا يؤدي النقر المزدوج إلى تجاوز المتغيرات المحفوظة.

#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
14
Mikuz

مجرد استخدام هذا البرنامج النصي authotkey:

;-Caption
LWIN & LButton::
WinSet, Style, -0xC00000, A
return
;

;+Caption
LWIN & RButton::
WinSet, Style, +0xC00000, A
return
;

يمكنك تنزيل autohotkey من هنا http://www.autohotkey.com/download/ . احفظ الملف بامتداد .ahk وقم بتشغيله مثل أي تطبيق.

الاستعمال:

لإزالة شريط العنوان LWindowButton + اليسار انقر فوق

لاستعادة شريط العنوان LWindowButton + انقر بزر الماوس الأيمن

19
mjsr

هنا عبارة عن برنامج يمكنه إزالة شريط العنوان لأي نافذة. للقيام بذلك ، يجب تحديد نافذة الألعاب في طريقة عرض شجرة WinExplorer بدلاً من التبديل إلى علامة التبويب "نمط" وإيقاف WS_DLGFRAME.

6
Blza

باستخدام AutoHotKey وشريط المهام إخفاء تلقائي.

LWin & f::

WinGet Style, Style, A
if(Style & 0xC40000) {
  WinSet, Style, -0xC40000, A
  WinMaximize, A 

} else {
  WinSet, Style, +0xC40000, A
  WinRestore, A
}
return

لماذا استخدام WinMaxmize؟ راجع تعليقات إجابة Asd .

3
weakish

CutAway من جانب Skrommel قد تفعل ما تريد.

Cut Away

2
Richard

لقد وجدت هذا في منتديات HydrogenAudio:

فيما يلي لقطة شاشة لـ Foobar 2000 بدون شريط عنوان نافذة:

enter image description here

يسمى البرنامج المستخدم Flash Desktops (برنامج كومبيوتري)

لسوء الحظ ، لا يقومون بتفاصيل إعدادات البرنامج لتحقيق الهدف بل على مشكلة تحريك النوافذ دون شريط العنوان. وذكر WindowBlinds أيضا.

1
Molly7244

لم أعد أقوم بتشغيل Windows ، لذلك لا يمكنني اختبار ذلك ، لكن Borderless Gaming هو تطبيق مفتوح المصدر واعد يحل هذه المشكلة. يعرض قائمة بالتطبيقات قيد التشغيل ويتيح لك اختيار تطبيق لمعالجة النوافذ.

0
Nelson

إذا أمكنك استخدام التعليمات البرمجية وكنت تقوم بتشغيل نظام التشغيل Vista أو الأحدث ، فمن السهل جدًا إنشاء برنامج يسجل صورة مصغرة لـ DWM للتطبيق ، ثم يمكنك تحديد عرض محتوى النافذة فقط دون حدود في هذه الصورة المصغرة. يجب عليك أيضًا إعادة توجيه جميع المدخلات من هذا البرنامج المتراكب إلى اللعبة بطريقة ما ولكن هذا ليس معقدًا للغاية.

0
mmmmmm

كنت أواجه مشكلات مع نافذة معينة ، والتي باستخدام طريقةضعف ، وإطار ميكوز سيستغرق حجم النافذة الصحيح لإطار مكبرة ، لكنه لن يذهب إلى الموضع الصحيح.

وهنا حل بلدي 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
0
mpag