Làm cách nào để khôi phục các cửa sổ trở lại màn hình gốc khi kết nối lại màn hình ngoài?


17

Hãy tưởng tượng bạn làm điều này ...

  1. Kết nối màn hình bên ngoài của bạn.
  2. Bắt đầu một số ứng dụng, một số trên mỗi màn hình.
  3. Ngắt kết nối màn hình ngoài.
    • Tất cả đều tốt vì tất cả các ứng dụng di chuyển màn hình chính.
  4. Kết nối lại màn hình ngoài.
    • Các ứng dụng vẫn ở trên màn hình chính, nhưng sẽ rất tuyệt nếu chúng quay trở lại màn hình ngoài mà chúng đã bật trước đó.

Sử dụng Windows 10. Có bất kỳ giải pháp hoặc giải pháp nào cho việc này để tự động chuyển các ứng dụng trở lại màn hình ngoài không?


6
Bạn có thể muốn có một cái nhìn ở đây - - superuser.com/q/240362/302907
Anaksunaman

Câu trả lời:


1

Trước đây, tôi đã sử dụng một công cụ Autohotkey có tên Windowpad cho việc này. Rõ ràng điều này hiện đã được thay thế bằng một phiên bản mới, nâng cao có tên WindowPadX . Cuộn xuống để xem readme. Tài liệu đầy đủ có ở đây .

Điều này rất quan trọng với tôi trên nhiều màn hình. Tôi thích có thể dễ dàng chuyển đổi một cửa sổ giữa hai.

Bạn có thể đặt các phím nóng cho các mục sau (từ readme):

Các hành động có thể được cấu hình trên các phím nóng

Hành động cửa sổ

Đa màn hình

WPXA_MoveWindowToMonitor: Di chuyển cửa sổ giữa các màn hình, giữ nguyên vị trí và kích thước tương đối.

WPXA_MinizesWindowsOnMonitor: Thu nhỏ tất cả các cửa sổ trên Màn hình đã cho

WPXA_GatherWindowsOnMonitor: "Tập hợp" các cửa sổ trên một màn hình cụ thể.

WPXA_FillVirtualScreen: Mở rộng cửa sổ để lấp đầy màn hình ảo (tất cả các màn hình).

Chung

WPXA_MaxizesToggle: Tối đa hóa hoặc khôi phục cửa sổ.

WPXA_TopToggle: Toogles "alwaysOnTop" cho cửa sổ đã cho

WPXA_RollToggle: Chuyển sang "Cuộn / hủy đăng ký" cho cửa sổ đã cho WPXA_Move: di chuyển và thay đổi kích thước cửa sổ dựa trên khái niệm "pad".

WPXA_TileLast2Windows: Cửa sổ hoạt động và cửa sổ cuối cùng

Hành động chuột đa màn hình

WPXA_MoveMouseToMonitor: Di chuyển chuột đến trung tâm của màn hình đã cho

WPXA_ClipCthonToCienMonitorToggle: Quá nhiều chuột cắt vào màn hình hiện tại

WPXA_ClipC bổngToMonitor: Đoạn phim (Hạn chế) cho màn hình đã cho

Hành động chung của chuột

WPXA_MouseLocator: Dễ dàng tìm thấy chuột

Bạn có thể tìm thấy nó và các công cụ khác trong số "Danh sách các thư viện AutoHotkey tuyệt vời, phân phối thư viện, tập lệnh, công cụ và tài nguyên" tại đây


danh sách các tính năng này cho thấy nó có thể di chuyển các cửa sổ xung quanh, nhưng nó có thể khôi phục vị trí của chúng về trạng thái cụ thể không? "tập hợp" và "cuộn / bỏ kiểm soát dựa trên khái niệm pad" nghĩa là gì?
TT--

@ TT-- "Tập hợp" tập hợp tất cả các cửa sổ vào màn hình hiện tại. Điều này thật tuyệt khi, ví dụ, tôi muốn tất cả các cửa sổ ngoại trừ một hoặc có thể một vài cửa sổ trên một màn hình và (các) cửa sổ tôi đang tập trung vào màn hình chính của mình. "WPXA_MaxizesToggle: Tối đa hóa hoặc khôi phục cửa sổ" nên xen kẽ giữa tối đa hóa và ban đầu. "Cuộn / hủy đăng ký ..." ẩn khu vực làm việc của cửa sổ và chỉ để lại thanh tiêu đề được hiển thị hoặc đi từ trạng thái cuộn lên để khôi phục lại toàn bộ cửa sổ. Một số điều này là từ bộ nhớ và tôi có thể không chính xác, nhưng nếu không nó là khá gần.
ludinom

1
cảm ơn để biết thêm chi tiết. Có vẻ như MaximizeTogglesẽ khôi phục các cửa sổ cho các màn hình khác nhau như tôi đang tìm kiếm. Tôi đã kết thúc bằng cách sử dụng 'DockWin' này, điều này đặc biệt làm điều đó (và không có gì khác).
TT--

0

Một số gpu có hỗ trợ cho việc này như bảng điều khiển Nvidia cho phép bạn áp dụng các cài đặt cho điều này và rất nhiều tính năng khác.

Hoặc bạn chỉ có thể đặt nhiều cài đặt hiển thị để phản chiếu màn hình nền (thay vì mở rộng) trên tất cả các màn hình nếu điều đó phù hợp với bạn.


0

Các chương trình Windows - được gọi là ứng dụng (hiện tại) - có thể lưu vị trí của cửa sổ của chúng trong một tệp hoặc sổ đăng ký. Nếu ai đó biết dữ liệu này ở đâu, nó có thể được chỉnh sửa thủ công trong notepad hoặc trình chỉnh sửa sổ đăng ký. (các mục đăng ký không chính xác có thể gây ra sự mất ổn định hoặc lỗi của Windows)

Việc tạo ra một cách tự động sẽ dễ dàng đối với người có một chút kỹ năng mã hóa và nó có thể được bắt đầu khi cần thiết (tức là sau khi màn hình được gắn lại). Điều này có thể được thực hiện bằng tập lệnh hành động, tệp .bat hoặc ứng dụng gốc.

Các ứng dụng trong câu hỏi sẽ cần phải được đóng trước đó mặc dù để các vị trí mong muốn được thực hiện.

Một khả năng khác với khả năng "trực tuyến" (không cần khởi động lại ứng dụng) sẽ là nếu Windows cho phép truy cập một cửa sổ của một quá trình khác. Một cách tiếp cận có thể là các hàm SendMessage và WindowProc.

(Tôi không chắc chắn vào thời điểm này nếu điều này chỉ áp dụng cho các luồng của ứng dụng mẹ hoặc cũng có thể được thực hiện bởi các luồng của các ứng dụng khác ... và tất nhiên cần có kiến ​​thức tốt về lập trình cho Windows)

//

Gửi tin nhắn được chỉ định đến một cửa sổ hoặc cửa sổ. [...] Nếu cửa sổ được chỉ định được tạo bởi luồng gọi, quy trình cửa sổ được gọi ngay lập tức dưới dạng chương trình con. Nếu cửa sổ đã chỉ định được tạo bởi một luồng khác, hệ thống sẽ chuyển sang luồng đó và gọi thủ tục cửa sổ thích hợp.

Tin nhắn WM_Move https://docs.microsoft.com/en-us/windows/desktop/winmsg/wm-move

Gửi sau khi một cửa sổ đã được di chuyển.

Một cửa sổ nhận thông báo này thông qua chức năng WindowProc của nó.

//

Một hàm do ứng dụng định nghĩa xử lý các tin nhắn được gửi đến một cửa sổ. [...]


0

Tôi sử dụng UltraMon (tôi tin rằng đó là Nguồn mở) và trong một số trường hợp nhất định, nó có thể làm điều này, nếu được cấu hình đúng.

Đầu tiên hãy cài đặt chương trình UltraMon . Sau đó, khi nó đang chạy, hãy nói ngay bây giờ bạn chỉ có một màn hình được cắm vào (không quan trọng số), tạo một hồ sơ:

  • Nhấp chuột phải vào biểu tượng trong systray
  • Nhấp chuột trái Hiển thị hồ sơ
  • Nhấp chuột trái vào Hồ sơ hiển thị mới, Đặt tên cho nó (ví dụ: những gì tôi làm là cung cấp cho nó một số phản ánh số lượng màn hình bạn đang sử dụng, như Hồ sơ 1).
  • Bây giờ bạn có một cái. Thật tuyệt, bạn có thể tạo hình nền cho mỗi màn hình, trình bảo vệ màn hình, v.v ... Nhận tất cả các biểu tượng của bạn theo cách bạn muốn.
  • Nhấp chuột phải vào biểu tượng systray.
  • Nhấp chuột trái Biểu tượng máy tính để bàn Trái Lưu vị trí

Bây giờ kết nối / ngắt kết nối màn hình khác. Tạo một hồ sơ cho thiết lập mới này. Có thể gọi nó là "Hồ sơ 7" để cắm 7 màn hình. Bây giờ hãy lưu các vị trí biểu tượng khi chúng là cách bạn muốn.

Bạn có thể dễ dàng sử dụng công cụ này để chuyển đổi qua lại giữa các cấu hình. Bạn có thể dễ dàng đặt các phím tắt trên màn hình để chuyển nhanh giữa các cấu hình.

Cuối cùng, trong các tùy chọn nâng cao, bạn có thể yêu cầu UltraMon thực hiện việc này mọi lúc, tự động cho bạn, nhưng điều đó có thể yêu cầu phiên bản trả phí (phí trọn đời một lần).

Tôi đã mua lại UltraMon vào năm 2009 với giá 19,99 đô la và nó hoàn toàn xứng đáng.


3
Bạn có thể giải thích về "cách", hoàn cảnh hoạt động và cách cấu hình chính xác không?
fixer1234

Vâng thưa ông / bà. Đầu tiên hãy cài đặt chương trình UltraMon. www.ultramon.com Sau đó, khi nó đang chạy, hãy nói ngay bây giờ bạn chỉ có 1 màn hình được cắm vào (không quan trọng số) tạo một hồ sơ: Nhấp chuột phải vào biểu tượng trong systray Nhấp chuột trái Hiển thị hồ sơ Hiển thị bên trái Đặt tên cho nó (đây là những gì tôi làm) theo số lượng màn hình bạn đang sử dụng, như Hồ sơ 1. Bây giờ bạn có một màn hình. Thật tuyệt, bạn có thể tạo hình nền cho mỗi màn hình, màn hình, v.v. Nhận tất cả các biểu tượng của bạn theo cách bạn muốn. Nhấp chuột phải vào biểu tượng systray. Nhấp chuột trái Biểu tượng máy tính để bàn Vị trí lưu trái
PyTis

Tiếp tục, bây giờ kết nối / ngắt kết nối màn hình khác. Tạo một hồ sơ cho thiết lập mới này. Có thể gọi nó là "Hồ sơ 7" để cắm 7 màn hình. Bây giờ hãy lưu các vị trí biểu tượng khi chúng là cách bạn muốn. Bạn có thể dễ dàng sử dụng công cụ này để chuyển đổi qua lại giữa các cấu hình. Bạn có thể dễ dàng đặt các phím tắt trên màn hình để chuyển nhanh giữa các cấu hình. Cuối cùng, trong các tùy chọn nâng cao, bạn có thể yêu cầu UltraMon thực hiện việc này mọi lúc, tự động cho bạn, nhưng đó có thể là tùy chọn trả phí (một lần thời gian trong cuộc sống). Tôi đã mua lại UltraMon vào năm 2009 cho 19,99 và nó hoàn toàn xứng đáng.
PyTis

Điều này dường như không trả lời câu hỏi - câu hỏi là về việc khôi phục các cửa sổ ứng dụng cho mỗi màn hình, điều này giải quyết các biểu tượng trên màn hình (và những thứ liên quan). Nghe có vẻ như một công cụ hữu ích, nhưng không phải là một công cụ có liên quan.
Bobson

0

Win Redock đã làm việc tốt nhất cho tôi. Redock là tự động - lưu và khôi phục các cửa sổ mà không cần bất kỳ sự can thiệp nào. Ma thuật! Nguồn mở của nó cũng vậy!


-1

Nếu bạn thay đổi + nhấp chuột phải vào biểu tượng trên thanh tác vụ, sau đó nhấn di chuyển, bạn có thể sử dụng các phím mũi tên để di chuyển cửa sổ và phím enter để đặt vị trí. Tôi đã có cùng một vấn đề một vài năm trước đây.

Một giải pháp khác là sử dụng DisplayFusion để gắn cửa sổ vào màn hình gần nhất (duy nhất được kết nối) với phím nóng "Di chuyển tất cả các cửa sổ sang màn hình hiện tại".


1
sao phức tạp vậy Nếu bạn chỉ muốn chuyển sang màn hình khác thì chỉ cần sử dụng windows + shift + left / right
phuclv

-1

Không có bất kỳ giải pháp nào để thực hiện việc này, bạn phải sử dụng phím windows trên bàn phím bằng mũi tên trái, để di chuyển giữa các màn hình hoặc phím windows + shift + left / right để di chuyển đến các phần của màn hình.

Phím Windows + P cũng giúp trong các tình huống đa màn hình để hỗ trợ phản chiếu / mở rộng, v.v.

Nhưng một lần nữa, một khi bạn ngắt kết nối màn hình của mình, nếu những cửa sổ đó có bất kỳ siêu dữ liệu nào trên chúng, chúng sẽ biến mất sau đó


Trên thực tế, có nhiều giải pháp. Một hoặc hai mà bạn đề cập. Thay đổi độ phân giải là một số khác.
Hennes

-2

Bạn có thể làm điều này, nếu bạn là một "anh chàng bàn phím" cũ như tôi; -] Tôi đã hình dung ra điều này từ rất lâu rồi, rằng tôi đã là người đa năng từ đầu những năm 90, đó là một vấn đề rất lâu, trong một chút UI khác nhau.

Cách dễ nhất tôi tìm thấy cho các ứng dụng ngoài màn hình / viền là:

  • Chỉ cần chọn ứng dụng, thông qua thanh tác vụ hoặc Alt -Tab
  • Giữ phím Alt và nhấn phím cách (Alt - Spacebar)
  • Bạn sẽ thấy một menu, trên (các) màn hình chính của bạn, một tùy chọn trong số đó sẽ là "Di chuyển", với chữ M được gạch chân.
  • Do đó, nhấn phím "M", trong khi menu vẫn đang bật
  • Tại thời điểm này, đừng chỉ / nhấp / v.v., vì bây giờ bạn đang "định vị lại" cửa sổ đang hoạt động (cửa sổ ngoài màn hình).
  • Bạn có thể kéo chuột xung quanh ( KHÔNG CÓ NÚT NÚT CHO NGAY ) và bạn sẽ thấy loại ứng dụng đi vào / ra khỏi màn hình chính, đủ để bạn đặt nó ở đâu đó thuận tiện hơn để sử dụng.
  • Ngoài ra, bạn có thể sử dụng các phím mũi tên để di chuyển ứng dụng xung quanh, cũng hoạt động tốt, nhưng chậm hơn một chút, để tìm ra vị trí của các cửa sổ và hướng đi của nó.
  • Khi bạn có Cửa sổ ở "vị trí tốt", nơi có thể chủ động kích thước / di chuyển cửa sổ, nhấp vào nút chuột chính hoặc nếu sử dụng phương pháp bàn phím, hãy nhấn phím "enter".
  • Cửa sổ / ứng dụng bây giờ sẽ dễ dàng di chuyển / điều chỉnh.
  • Lặp lại cho tất cả các cửa sổ / ứng dụng ngoài màn hình.

3
(1) Câu trả lời của bạn dường như gợi ý rằng OP không biết làm thế nào để di chuyển các cửa sổ, điều này thật xúc phạm và ngây thơ. Toàn bộ vấn đề của câu hỏi là làm cho máy tính nhớ cửa sổ nào trên màn hình nào và để máy tính tự động khôi phục chúng, mà không cần người dùng phải nhớ vị trí của chúng và sau đó di chuyển chúng trở lại một cách thủ công. (2) Ngoài phím tắt Alt + Space, câu trả lời của bạn về cơ bản giống như đoạn đầu tiên trong câu trả lời của hydraxx . Tiết (Cont'd)
Scott

. Như hydraxx nói, bạn có thể làm điều đó hoàn toàn với bàn phím. Hoặc bạn có thể làm điều đó hoàn toàn với chuột, bằng cách nhấp vào tiêu đề cửa sổ và kéo. Bạn đã trình bày các giải pháp phức tạp nhất có thể.
Scott

Nó thực sự khá đơn giản, mô tả chỉ là một chút khó khăn. Tôi không nhận được mục menu "Di chuyển" khi tôi thử điều trên thanh tác vụ, hoặc nó không được chấp nhận hoặc một cái gì đó trên hệ thống của tôi đang ngăn không cho xem. Tôi đồng ý, ngoài alt-spc, câu trả lời của tôi về cơ bản là giống nhau, nhưng tôi đã chỉ ra phương pháp của mình cho hàng tá, và nó luôn đi theo hướng "wow, thật dễ dàng, tự hỏi tại sao không thử điều đó" . Câu trả lời của tôi không cho phép một giải pháp chỉ dành cho keybd, như đã lưu ý. Cũng có những tiện ích cho việc này, nhưng đôi khi các tiện ích mở rộng vỏ có thể có tác dụng không mong muốn ...
PeteG

Mặc dù vậy, tôi đồng ý rằng, chúng ta ít nhiều sẽ đến cùng một địa điểm, sử dụng cùng một cấu trúc trong HĐH.
PeteG

Bạn cũng có thể sử dụng DisplayFusion để làm điều này. Nó có một cài đặt để "gắn" tác vụ / cửa sổ hiện tại vào màn hình hiện tại (có thể là chính).
PeteG
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.