Windows 10: Chuyển bàn ảo trong khi ở máy tính để bàn từ xa toàn màn hình


28

Tôi có 3 máy tính để bàn ảo trong Windows 10.
Trên một trong những máy tính để bàn đó tôi chạy mstsc toàn màn hình.

Để chuyển đổi máy tính để bàn, tôi có thể sử dụng windows + ctrl + trái hoặc phải.
Nhưng khi tôi ở chế độ toàn màn hình, khóa này được mstsc thu lại và chuyển đổi không hoạt động.
Có cách nào để thay đổi hành vi này?


Tôi cần một câu trả lời về điều này quá!
Antony

1
Nâng cao, bởi vì điều này sẽ là tuyệt vời. Sẽ thật tuyệt khi chọn tổ hợp phím Windows nào áp dụng cho RDP hoặc máy tính
MikeMurko

Câu trả lời:


32

Tôi đang tìm kiếm một giải pháp cho vấn đề này và chỉ tìm thấy một!

CTRL+ ALT+ HOMEgiúp lấy nét bàn phím trở lại máy chủ khi ở Remote Desktop.
Sau đó, bạn có thể thực hiện WIN+ CTRL+ LEFThoặc RIGHTđể chuyển đổi giữa các máy tính để bàn ảo.
Không lý tưởng, nhưng tôi có thể sẽ có thỏa thuận autohotkey với 2 phím tắt này.


1
Thật là tuyệt vời !! Tôi đã tìm kiếm một cái gì đó như thế này trong một thời gian và điều tốt nhất tôi tìm thấy là Ctrl + alt + break (tạm dừng), đóng chế độ toàn màn hình - thật khó chịu! Tôi sẽ cho bạn tiền thưởng nếu điều này là stackoverflow, nhưng tôi không thể làm điều này ở đây. Cảm ơn +1!
Kiril Kirov

Yêu ya rất nhiều, hãy đưa quan điểm của tôi !!
Fedaykin

7

Hóa ra trong máy khách máy tính từ xa, bạn nên chọn "Chỉ máy tính này" khi áp dụng Kết hợp phím Windows.

Tài nguyên cục bộ máy tính từ xa


4
Điều đó hoạt động, nhưng bây giờ tôi không thể sử dụng ALT + TAB
r03

1
Tôi cũng có cùng một vấn đề. Tôi ước có một cách để làm cho nó bỏ qua chỉ cần giành chiến thắng + ctrl + trái / phải
Ege zcan

1
@ EgeÖzcan có (sắp xếp)! Xem câu trả lời này
Luke

4

Đầu tiên, tôi muốn các phím Windows hoạt động trên máy tính từ xa ( Alt-Tabví dụ), vì vậy tôi có "Chỉ khi sử dụng toàn màn hình" cho cài đặt "Áp dụng tổ hợp phím Windows".

Sau đó, vì rất ít tổ hợp phím có thể đưa bạn ra khỏi máy tính để bàn từ xa khi toàn màn hình, bạn phải sử dụng CTRL-ALT-HOME, mang lại thanh kết nối, nhưng cũng trả lại quyền điều khiển cho máy tính cục bộ.

Vì vậy, tôi đã viết này autohotkey kịch bản: switchVirtualDesktopWithRD.ahk . Nó hoàn toàn dựa trên kịch bản này , vì vậy tôi không có tín dụng. Tôi chỉ đơn giản là sửa đổi nó cho nhu cầu của tôi . Bạn có thể điều chỉnh nó cho bạn ...

Trong trường hợp của tôi, tôi chỉ có hai máy tính để bàn ảo: cái đầu tiên là cái chính và cái thứ hai là nơi tôi chạy một máy khách từ xa toàn màn hình.

Kịch bản làm gì khi tôi nhấn CTRL-ALT-HOME:

  • Nếu tôi ở trên máy tính để bàn ảo thứ hai, nơi tôi chạy máy khách từ xa toàn màn hình, thì đầu tiên sẽ hiển thị thanh kết nối. Sau đó tôi nhấn HOMEphím một lần nữa (với CTRLALTvẫn nhấn) và tôi trở lại màn hình chính đầu tiên. Nếu không có phiên toàn màn hình diễn ra trên máy tính để bàn thứ hai, tổ hợp đầu tiên ngay lập tức chuyển sang máy tính để bàn đầu tiên.

  • Nếu tôi ở trên máy tính để bàn đầu tiên, nó sẽ chuyển sang cái thứ hai ngay lập tức.

Nói cách khác, tôi luôn sử dụng CTRL-ALT-HOMEđể chuyển đổi giữa các máy tính để bàn.


Tôi thích điều này. Nếu chúng ta chạy một kịch bản AHK trên máy tính từ xa (s) (và đặt chúng để bắt đầu khi bạn đăng nhập), tôi tự hỏi, nếu chúng ta có thể dịch một CTRL-WIN-LEFTđến CTRL-ALT-HOMEvà kích hoạt công tắc tập trung vào thanh kết nối RDP từ AHK từ xa. Sau đó, bạn chỉ cần nhấn CTRL-WIN-LEFThai lần để nó chuyển đổi máy tính để bàn.
Lu-ca

Tôi đã làm cho nó hoạt động, nhưng với một tập lệnh chỉ chạy trên máy cục bộ - không cần ahk trên điều khiển từ xa: D
Luke

3

Xây dựng câu trả lời của electrotype Tôi có tập lệnh AHK sẽ cho phép các phím nóng Ctrl+ Win+ LeftCtrl+ Win+ Rightchuyển đổi máy tính để bàn trên máy tính cục bộ, từ trong phiên RDP toàn màn hình, mà không phải hy sinh bất kỳ phím nào khác trong phiên RDP - tức là Alt+ Tabvà tương tự hoạt động như bình thường trong phiên RDP.

Vì chúng tôi muốn phím tắt thông thường hoạt động trên máy tính từ xa, bạn phải có "Chỉ khi sử dụng toàn màn hình" cho cài đặt "Áp dụng tổ hợp phím Windows" khi bắt đầu phiên RDP.

Tôi thực sự dựa trên kịch bản của mình từ một kịch bản khác mà tôi tìm thấy trên các diễn đàn AHK.

Những gì nó làm:

  • Chạy tập lệnh trên máy cục bộ của bạn (không phải trên máy tính để bàn từ xa). Tôi dán cái của tôi vào C:\users\<user>\documents\AutoHotkey.ahkđể nó chạy khi tôi bắt đầu ahk mà không có đối số.
  • Nếu bạn đang ở trong phiên RDP và nhấn Ctrl+ Win+ ( Lefthoặc right) tập lệnh trước tiên sẽ gửi Ctrl+ Alt+ Homeđể tập trung vào thanh tiêu đề RDP sau đó gửi tổ hợp phím chuyển đổi trên màn hình để thực sự chuyển đổi máy tính để bàn.

Lưu ý: nó có một chút lỗi khi sử dụng hai hoặc nhiều máy tính để bàn từ xa ảo (ví dụ: một máy tính để bàn ảo cục bộ, hai máy tính để bàn ảo có cửa sổ RDP toàn màn hình trên mỗi máy) nhưng tôi không có thời gian để làm việc trên nó ngay bây giờ . Vấn đề là khi bạn chuyển từ một máy tính để bàn từ xa ảo này sang một máy tính từ xa ảo khác, bạn phải hủy liên kết và bật lại phím nóng và nó gặp khó khăn khi phát hiện điều này (mặc dù không nên - thanh tiêu đề RDP có một lớp cửa sổ khác nhưng nó không ' t luôn luôn chọn cái này).

Kịch bản Ahk:

;setTimer, windowwatch, 500
#persistent
#usehook
SLEEP_VAL := 500
DEBUG := false
keys_bound := false

while true {
    ;Debug("Waiting")
    sleep, SLEEP_VAL
    keys_bound := WaitBind()
}

WaitBind() {
    WinWaitActive, ahk_class TscShellContainerClass
    Debug("bind")
    hotkey LWin & Left, ctrl_win_left_key, on
    hotkey LWin & Right, ctrl_win_right_key, on
    return true
}

WaitUnbind() {
    WinWaitNotActive, ahk_class TscShellContainerClass
    Debug("unbind")
    hotkey LWin & Left, ctrl_win_left_key, off
    hotkey LWin & Right, ctrl_win_right_key, off
    return false
}

Debug(msg) {
    global DEBUG
    if (DEBUG) {
        tooltip %msg%
        settimer, TooltipClear, 2000
    }
}
return

z_key:
    ; simple script for testing - change the z to 'he'
    send, he
    Debug("done z")
return

j_key:
    ; testing if we can activate the RDP title bar
    send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
    Debug("done j")
Return

ctrl_win_left_key:
    ; we are intercepting all Win+Left combinations so we have to do Win+Shift+Left and Win+Left manually to preserve them inside the RDP
    GetKeyState, shiftState, Shift
    GetKeyState, ctrlState, Ctrl
    if (shiftState = "D") {
        ; by default in windows Ctrl+Shift+Win+Left will act like Shift+Win+Left - shift takes precedence
        Debug("done shift win left")
        send {Shift down}{LWin down}{Left}{LWin up}{Shift up}
    } else if (ctrlState = "D") {
        Debug("done ctrl win left")
        ; the magic happens here
        send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
        keys_bound := WaitUnbind()
        ;Sleep, SLEEP_VAL ;give the OS time to focus on the title bar
        send {Ctrl down}{LWin down}{Left}{LWin up}{Ctrl up}
    } else {
        Debug("done win left")
        send {LWin down}{Left}{LWin up}
    }
Return

ctrl_win_right_key:
    ; we are intercepting all Win+Right combinations so we have to do Win+Shift+Right and Win+Right manually to preserve them inside the RDP
    GetKeyState, shiftState, Shift
    GetKeyState, ctrlState, Ctrl
    if (shiftState = "D") {
        ; by default in windows Ctrl+Shift+Win+Left will act like Shift+Win+Left - shift takes precedence
        Debug("done shift win right")
        send {Shift down}{LWin down}{Right}{LWin up}{Shift up}
    } else if (ctrlState = "D") {
        Debug("done ctrl win right")
        ; the magic happens here
        send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
        keys_bound := WaitUnbind()
        ;Sleep, SLEEP_VAL ;give the OS time to focus on the title bar
        send {Ctrl down}{LWin down}{Right}{LWin up}{Ctrl up}
    } else {
        Debug("done win right")
        send {LWin down}{Right}{LWin up}
    }
Return


TooltipClear:
    ; just a routine to turn off tooltip after x milliseconds
    tooltip
    settimer, TooltipClear, off
Return

windowwatch:
    ifwinactive ahk_class TscShellContainerClass
    {
      Debug("bind")
      hotkey LWin & Left, ctrl_win_left_key, on
      hotkey LWin & Right, ctrl_win_right_key, on
    }
    else
    {
     Debug("unbind")
     hotkey LWin & Left, ctrl_win_left_key, off
     hotkey LWin & Right, ctrl_win_right_key, off
    }
Return

Đôi khi có cảm giác như nó không hoạt động - tôi thấy tôi phải nhả và bấm lại các Ctrl+Winphím đôi khi khi tôi đi từ máy tính để bàn cục bộ sang điều khiển từ xa hoặc ngược lại. Hãy thử nếu nó không hoạt động hoặc tăng SLEEP_VAL ở đầu tập lệnh để tăng độ trễ giữa gửi Ctrl+Alt+HomeCtrl+Win+Left
Luke

3

Nếu bạn có bàn di chuột, bạn có thể thử cử chỉ bốn ngón tay.

Từ Hỗ trợ của Microsoft - Cử chỉ Touchpad cho Windows 10

Chuyển đổi máy tính để bàn ảo: Đặt bốn ngón tay trên bàn di chuột và vuốt sang phải hoặc trái.

Tôi đang làm việc với hai máy tính để bàn ảo trong Windows 10. Trên một trong những máy tính để bàn đó, tôi đang truy cập Win 7 thông qua Remote Desktop ở chế độ toàn màn hình.

Tôi có thể chuyển đổi giữa hai máy tính để bàn ảo bằng cử chỉ này. Nó làm việc cho tôi.


-1

Tôi đã giải quyết vấn đề với việc phải nhấn và thả các phím nóng bằng cách thay đổi tập lệnh để nó liên kết các phím nóng khi chạy và không bao giờ hủy liên kết chúng.


Vui lòng làm rõ và thêm một chút bối cảnh cho câu trả lời này để truyền đạt chính xác những gì bạn đang đề xuất. Bạn biết đấy, xem xét thêm một số tài liệu tham khảo cho câu trả lời này hỗ trợ những gì bạn nêu. Mặt khác, hãy đọc qua "Tại sao tôi cần 50 danh tiếng để bình luận" để đảm bảo bạn hiểu cách bạn có thể bắt đầu bình luận.
Pimp Juice IT
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.