it-swarm.asia

Ekranı açarken pencereler nasıl açılır?

İkili monitör kurulumum var ve son zamanlarda konumlandırma ayarlarıyla oynamıştım ve tek pencere uygulamalarımın bazıları en son kapatıldıkları yeri korumak ve daha sonra aynı konumda açılmaktan yana. Ne yazık ki, bu şimdi onları ekranlarımın görülebilir alanının dışına çıkarıyor!

Belirli bir pencereyi görüntülenebilir alana zorlamak için bir yol var mı?

265
Matthew Scharley

Windows 7 ve sonraki kullanıcılar için: Windows Key+Shift+ veya  Seçilen pencereyi monitöre bu yönde hareket ettirir.

192
andho

Bu yaklaşımı kullanıyorum:

  • Kullanım Alt+Tab Ekran dışı uygulamaya geçmek için.
  • Basın Alt+SPACE Sistem menüsünü getirmek için (ekranın kapalı olduğu için göremezsiniz)
  • Basın R pencerelerin büyütülmemesini sağlamak için "Geri Yükle" menü seçimini seçmek için (büyütülmüşse taşıyamazsınız)
  • Basın Alt+SPACE tekrar, sonra M "Taşı" menü seçimini seçmek için.
  • Hareketi başlatmak için ok tuşlarından birine basın.
  • Şimdi sadece fareyi kullanarak pencereyi istediğiniz yere yerleştirin.

Windows'un İngilizce olmayan bir sürümünü kullanıyorsanız, "R" ve "M" menü seçenekleri muhtemelen farklı olacaktır.

422
Terje Mikal

Windows 10 için eski hareketleri kullanabilmek için imleç tuşları ile pencereyi hareket ettirmeniz gerekir Shift Görev çubuğundan içerik menüsünü açtığınızda tuşuna basın.

enter image description here

Bilgi Nasıl Yapılır?

14
Brad Patton

Programın görev çubuğundaki düğmesini sağ tıklayıp "Taşı" düğmesini tıklayabilirsiniz. Artık klavyenizdeki ok tuşlarını kullanarak görebileceğiniz pencereyi hareket ettirebilirsiniz. Bazı işe yaramazlıklar gerektirir, bazen camlar monitör kenarlarında "sıkışır". Fareyi kullanmayı da deneyebilirsiniz, ancak pencereyi henüz göremiyorsanız klavye biraz daha güvenilirdir ;-)

12
Emthigious

Görev çubuğuna dönmeden önce, bu sorunu gidermek için kullanılır Alt+Space pencere menüsünü açmak için M Taşı işlevi için Ok tuşları, pencereyi ekrana geri getirmenizi sağlar.

8
Greg Hewgill

Başka bir hızlı yol görev çubuğuna tıklayıp Windows'u Cascade seçmektir.

8
T. Kaltnekar

Düzenleme: Yorumlara göre üretilmiyor

Gelecekte bu problemi hızlı bir şekilde çözmek ve uygulamaları çift ekran üzerinden konumlandırmak için önerebilirim Winsplit Revolution . Pencereyi tam olarak istediğiniz yere geri koymak için Ctrl-Alt ve sayısal tuş takımına basmak, bu sorunu çözmeyi azaltır.

5
Andy

Bu sorunla karşılaştım ve kesinlikle hiçbir şey benim için işe yaramadı. Böylece Görev Yöneticisi'ne girdim ve ekran dışı olan programı sağ tıkladım. İşe yaramadı, ne de öne getirdi. Not etmek gerekirse, bu statik bir pencereydi, bu yüzden en üst düzeye çıkarmak görev çubuğundan kullanılamıyordu. Ancak Görev Yöneticisi ile en üst düzeye çıkarabilirsiniz ve bu ana ekranınıza getiriyor! Oradan pencere ile ihtiyacınız olanı yapabilirsiniz. :)

5
Leo

Ben bu problemi Tk temelli olan Windows 7'deki Git GUI ile karşılaştım ve zaman zaman Windows'ta garip şekillerde ortaya çıkma eğilimindeyim. Alt-Space’e basmayı ve onu hareket ettirmek için move komutunu kullanmaya çalıştım, fakat takılmış gibiydi. En üst düzeye çıkarmak onu geri getirecektir, ancak tekrar pencereli moda geçirirsem tekrar kaybolur.

Yaptığım şey en üst düzeye çıkarmak, başlık çubuğunu kapmak ve ekranın yanına sürükleyerek Aero Snap'ın ekran boyutunun yarısına kadar boyutlandırıp pencereli moda getirmesiydi. Ondan sonra, ekranın kenarından uzağa sürükledi ve kontrolünü tekrar ele geçirdim.

3
unused

Herhangi bir pencerenin ekran dışına çıkıp çıkmadığını kontrol eden Shove-it adında küçük bir araç kullanıyorum ve onu tekrar ekrana itiyorum. Eski bir yazılımdır (ve ana sayfa bunu kanıtlar) ancak tüm Windows sürümlerinde çalışır.

PowerShell'i tanıyan herkes için şunu deneyin:

  • Aşağıdaki kodu kopyalayıp bir PowerShell ISE oturumuna yapıştırın.
  • Vur kaç
  • Ekran dışı pencereyi etkin hale getirmek için ALT + SEKME/düğmesine basın
  • Birkaç dakika bekleyin (senaryoda RUN tuşuna basmadan 5 saniye sonra)
  • Pencere şimdi görünmelidir.

Pencere bir ana pencere ise, ekranın sol üst köşesine taşınacaktır.

Pencere başka bir programın alt penceresi ise, sol üst köşesi üst pencerenin sol üst köşesi ile aynı hizada olacaktır.

Add-Type @"
    using System;
    using System.Runtime.InteropServices;

    // https://msdn.Microsoft.com/en-us/library/windows/desktop/dd162897(v=vs.85).aspx
    public struct RECT 
    {
        public long left;
        public long top;
        public long right;
        public long bottom;
    }

    public class User32WinApi 
    {

        // https://msdn.Microsoft.com/en-us/library/windows/desktop/ms633505(v=vs.85).aspx
        /*
            Gets the handle of the in-focus window
            NB: In some scenarios this can be NULL; so code needed to handle such an event
        */
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();

        // https://msdn.Microsoft.com/en-us/library/windows/desktop/ms633503(v=vs.85).aspx
        /*
            top & left are always 0 (i.e. since the rectangle is relative to the window itself)
            bottom & right equal the windows hieght and width, respectively.
        */
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect);

        // https://msdn.Microsoft.com/en-us/library/windows/desktop/ms633534(v=vs.85).aspx
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);

    }

"@
$repaint = $true 
$windowSize = New-Object RECT

"Quick; get the window you're after in focus; you have 5 seconds..."
Start-Sleep -Seconds 5 #allow 5 seconds for the user to get the window they're after in focus (e.g. using ALT+TAB / whatever)
$activeWindow = [User32WinApi]::GetForegroundWindow()
if ($activeWindow) {
    if([User32WinApi]::GetClientRect($activeWindow, [ref]$windowSize)) {
        if ([User32WinApi]::MoveWindow($activeWindow, 0, 0, $windowSize.right, $windowSize.bottom, $repaint)) {
            "Window moved successfully (hope you agree!)"
        } else {
            Write-Warning "Failed to move the active window"
        }
    } else {
        Write-Warning "Failed to get size of the active window"    
    }
} else {
    Write-Warning "No active window found"    
}

Orijinal kod burada: https://Gist.githubusercontent.com/JohnLBevan/1593bbb860c2d2af436a1c9414e8adfa/

1
JohnLBevan

NIRSOFT WinLister'ı kullanabilirsiniz. Klasik temayı kullanırken Windows 7'de “Taşı” yönteminin kullanılamadığını fark ettim ve diğer çeşitli yöntemler başarısız oldu, bu yüzden “Her şey başarısız olursa” alternatifini gönderiyorum.

  1. WinLister uygulamasını indirin here .

  2. WinLister'ı Yönetici olarak çalıştırın ve Ekranda tekrar taşımak istediğiniz pencereyi seçin. Yönetici olarak çalışmamak, uygulamaya sizin için pencereleri taşıma yeteneği vermez.

  3. Sağ tıklayın ve “Seçilmiş Pencereleri Ortala” yı seçin ve bitirdiniz!

Ekran görüntüleri here .

1
user199343

Bazı durumlarda, uzak konumda birden fazla ekran olmasına rağmen, bulunduğunuz yerden bunlara erişemeyebilirsiniz. Anahtar komutları çalışmaz çünkü ekranınızda olmayan herhangi bir görünümde kilitlendiğinizden.

Bu durumda, uygulamanın ek örneklerini açabilirseniz, bunu yapın. İlk birkaç örnek görev çubuğunda neredeyse kesinlikle hayalet pencereler olarak görülecektir. Bunu yapmaya devam et. Sonunda, birincil görünümü doldurmaya başlayacaklar. Ardından, ekran dışı örnekleri sağ tıklayıp kapatmak için görev çubuğu simgesini kullanın. Ekran dışı NO örnekleri açıldığında, birincil ekranda olanları kapatın. Bu uygulamayı bir sonraki açışınızda, "kamera kapalı" değil, birincil ekranda görünecektir.

1
Greg Mayer

Pencereyi seçin (örneğin, Alt+Tab). Sonra tutun Alt+F7 ve ok tuşlarıyla pencereyi tekrar görünüme getirin. Bitti.

Bazen gizli pencerenin nerede olduğunu (ve böylece ekrana doğru nasıl hareket ettirileceğini) kör olarak bilmek zordur. Pencerenin seçimi sırasındaki animasyonlar yardımcı olabilir. Ayarlarım nedeniyle (bazen dizüstü bilgisayar ekranımın üstünde ikinci bir ekran kullanıyorum), ekran dışı görünen pencereler genellikle aşağıda. Tutma Alt+F7+Up bu nedenle onları görünüme getirir.

1
Georg Jung

Winamp ile de aynı sorunu yaşadım. Şu ana kadar bulduğum tek (tatmin edici olmayan) çözüm: ekran çözünürlüğünü farklı bir ekrana değiştir ve geri al

Thomas

1
Thomas

Bir pencereyi bir sonraki veya bir önceki ekrana taşımak için bir klavye kısayolu ayarlamak için UltraMon (ücretsiz), Windows, GUI tuşlarını da kullanabilirsiniz.

enter image description here

0

Bir pencereyi Windows'ta kısayollu alt/üst monitöre taşıyın by Tymric :

Bir AHK senaryosu yazdım.

Kullanımı:

Win + Alt + Arrow: Etkin pencereyi, yönü okla gösterilen ekrana getirin. Kurulumunuzda ekran 2'den veya ekran 3'ten yukarı çıkmaya çalışırsanız, pencerenizin ekran dışına çıkmasına neden olabileceğini unutmayın. Gelecekte güncelleyeceğim.

Win + Alt + Number: Aktif pencereyi verilen monitör numarasına getirin

#Persistent

SysGet, MonitorCount, MonitorCount


#!Up::
  GoSub CalculateDisplacement
  WinMove, A, , %xPos%, %displaceYneg%
  return
#!Down::
  GoSub CalculateDisplacement
  WinMove, A, , %xPos%, %displaceYpos%
  return
#!Left::
  GoSub CalculateDisplacement
  WinMove, A, , %displaceXneg%, %yPos%
  return
#!Right::
  GoSub CalculateDisplacement
  WinMove, A, , %displaceXpos%, %yPos%
  return

#!1::
  GoSub CalculateDisplacement
  WinMove, A, , %xPosOn1%, %yPosOn1%
  return

#!2::
  if (MonitorCount > 1) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn2%, %yPosOn2%
  }
  return

#!3::
  if (MonitorCount > 2) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn3%, %yPosOn3%
  }
  return

#!4::
  if (MonitorCount > 3) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn4%, %yPosOn4%
  }
  return

#!5::
  if (MonitorCount > 4) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn5%, %yPosOn5%
  }
  return

#!6::
  if (MonitorCount > 5) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn6%, %yPosOn6%
  }
  return

#!7::
  if (MonitorCount > 6) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn7%, %yPosOn7%
  }
  return

#!8::
  if (MonitorCount > 7) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn8%, %yPosOn8%
  }
  return

#!9::
  if (MonitorCount > 8) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn9%, %yPosOn9%
  }
  return


CalculateDisplacement:
  WinGetPos, xPos, yPos, , , A
  Loop, %MonitorCount% {
    SysGet, MonitorDimension, Monitor, %A_Index%
    if (xPos > MonitorDimensionLeft and xPos < MonitorDimensionRight and yPos < MonitorDimensionBottom and yPos > MonitorDimensionTop) {
      currentMonitor = %A_Index%
    }
  }
  SysGet, thisMonitor, Monitor, %currentMonitor%
  displaceXpos := xPos + thisMonitorRight - thisMonitorLeft
  displaceYpos := yPos + thisMonitorTop - thisMonitorBottom
  displaceXneg := xPos - thisMonitorRight + thisMonitorLeft
  displaceYneg := yPos - thisMonitorTop + thisMonitorBottom
  Loop, %MonitorCount% {
    SysGet, nextMonitor, Monitor, %A_Index%
    xPosOn%A_Index% := xPos - thisMonitorLeft + nextMonitorLeft
    yPosOn%A_Index% := yPos - thisMonitorTop + nextMonitorTop
  }
  return
0

imleci görev çubuğuna koy ... sağ tıkla yan yana göster penceresini seç .. o pencereyi ekrana getirecek ... ve sonunda tekrar imleci görev çubuğuna getir.

0
ravi21

Bazen, bu çözüldü:

  • Click WinKey + P
  • Extend veya başka bir seçenek belirleyin; tüm pencereler basamaklandırılır. İstediğiniz pencereyi birincil ekrana taşıyın.
0
T.Todua

Sınır çizgisi adında ve çalıştırıldığında ekran pencerelerini otomatik olarak ekrana geri döndürecek bir araç yazdım. İhtiyacınız olduğunda çalıştırmanız gerekir (klavye kısayolu atarsanız veya başlat menüsüne koyarsanız en iyisidir), ancak bu her zaman arka planda da çalışmadığı anlamına gelir.

0
jamesdlin