Làm cách nào để tắt tính năng Windows 7 tối đa hóa cửa sổ thành toàn màn hình khi được di chuyển đến cạnh màn hình (nhưng vẫn giữ phím tắt hoạt động)?


10

Tôi đã làm theo lời khuyên này: Làm cách nào để tắt tự động tối đa hóa / thay đổi kích thước cửa sổ (aero-snap) khi gần cạnh màn hình?

Nhưng nó cũng tắt tính năng nhấn WinKey+ Left/Right Arrow, khớp các cửa sổ với một nửa màn hình theo hướng phím mũi tên.

Có cách nào để kiểm soát chúng một cách độc lập?


Tôi đã tìm kiếm cùng một giải pháp và tôi tin rằng nó không thể được thực hiện nguyên bản. Microsoft khó đến mức nào khi cho phép người dùng tùy chỉnh các cài đặt này một cách dễ dàng?
người dùng

1
Chính xác là quá nhiều thứ tầm thường là không thể. Tại sao? Bởi vì MS không có ý tưởng về khả năng sử dụng. Xbox mới nhất của họ cho thấy nó là tốt nhất. Và họ mong đợi mọi người trả số tiền vô lý cho phần mềm của họ.
Joan Venge

Câu trả lời:


3

Mặc dù có thể không có cách nào để thực hiện điều này thông qua GUI, nhưng có một cách để thực hiện nó theo lập trình.

Hàm bạn muốn là SystemParameterInfo . Bạn có thể đọc về nó trên MSDN nếu bạn muốn nó có đầy đủ khả năng (nó có thể truy cập vào một số lượng cài đặt vô lý) nhưng bạn sẽ quan tâm SPI_SETDOCKMOVINGSPI_SETSNAPSIZING.

SPI_SETDOCKMOVINGbật tắt khả năng chụp nhanh các cửa sổ bằng cách kéo chúng bằng các thanh tiêu đề của chúng. Bạn có thể tắt nó như thế này:

SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

SPI_SETSNAPSIZINGbật tắt khả năng chụp nhanh các cửa sổ bằng cách định cỡ chúng bằng cách sử dụng viền trên và dưới của chúng. Bạn có thể tắt nó như thế này:

SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)

Để bật lại, chỉ cần thực hiện cuộc gọi tương tự với một số khác không cho đối số thứ hai. Để thực hiện các thay đổi không tồn tại sau khi khởi động lại, hãy xóa cờ SPIF_UPDATEINIFILE khỏi đối số cuối cùng.

Để đảm bảo bạn giữ các phím tắt trên bàn phím, không tắt AeroSnap trong Bảng điều khiển hoặc sổ đăng ký .

Người siêng năng có thể nhận thấy rằng các đối số được cung cấp ở đây không phải là những gì bạn có thể mong đợi chúng là từ tài liệu. Cụ thể là pvParam và uiParams được chuyển đổi. Đây là cách duy nhất tôi tìm thấy để làm cho chức năng này hoạt động trên máy của mình (chạy Windows 8.1) vì vậy tôi nghi ngờ có lỗi trong tài liệu.


Kết quả của việc thực thi mã này với bộ SPIF_UPDATEINIFILE: superuser.com/a/1464761/128356 (cho phép chỉ áp dụng các chỉnh sửa này trong sổ đăng ký).
Công tước Nukem

2

Tôi đã tìm kiếm điều này trong quá khứ và tôi không tin rằng có một cách để làm điều này trong chính Windows. Tuy nhiên, có một sự thay thế của bên thứ ba. Đầu tiên, vô hiệu hóa snap aero theo liên kết trong câu hỏi của bạn. Sau đó, bằng cách sử dụng WindowsPad ( thiết lập tập lệnh AutoHotkey đặc biệt ), bạn có thể khôi phục các cửa sổ di chuyển giữa các màn hình trong thiết lập nhiều màn hình, sử dụng chụp nhanh trái / phải và hơn thế nữa (chụp nhanh trên, dưới, giữa và góc). Theo mặc định, WindowsPad sử dụng các phím Win+ NumPad(vì chức năng được thêm vào) nhưng bạn có thể thêm chức năng phím mũi tên giống như aero bằng cách thêm phần sau vào [Hotkeys]phần của tệp WindowsPad.ini:

# + Trái = WindowScreenMove, Tiếp theo
# + Phải = WindowScreenMove, Trước đó
#Left = WPM, -1, 0, 0,5, 1.0
#Right = WPM, +1, 0, 0,5, 1.0
#Up = MaxizingToggle
#Down = Khôi phục

Thật không may, bạn mất khả năng chụp đến 50% màn hình và sau đó khôi phục lại vị trí ban đầu (vì nó thực sự thay đổi kích thước cửa sổ, không sử dụng aero snap). Nhưng cho đến nay, đó là nhược điểm duy nhất tôi tìm thấy.


Bản trình diễn các tính năng góc và đáy của WindowsPad:

Bản thử nghiệm WindowsPad


2

Bạn có thể thử bộ sưu tập công cụ windows của tôi . Sau đây là các phím nóng để di chuyển cửa sổ:

Win+Array: Move the active window based on other visible windows. This allows for fast window alignment.
Shift+Win+Array: Move the left-up corner of the active window.
Alt+Win+Array: Move the right-bottom corner of the active window.
Ctrl+Win+Array: Dock the active window
Alt+F9: Minimize the active window
Alt+F10: Toggle maximize the active window

Tháng 6 năm 2015

Vì mã Google đang được ngừng hoạt động, tôi đã chuyển mã sang github . Trang wiki có một số thông tin trợ giúp: rwin wiki


2

Chỉnh sửa đăng ký sau đây đạt được chính xác những gì được yêu cầu :

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"DockMoving"="0"
"SnapSizing"="0"

(Bạn có thể lưu tệp này dưới dạng tệp .reg và chạy tệp. Yêu cầu khởi động lại hoặc đăng nhập lại.)

Thực tế, đây là hai cài đặt sẽ được đặt, thực thi mã trong câu trả lời của @ gitbox.

Hoạt động trong Windows 7 - 10.


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.