ตรึงแอปพลิเคชันไปยังเดสก์ท็อปหลายเครื่องใน Windows 10


73

หนึ่งในฟีเจอร์ใหม่ที่ยิ่งใหญ่สำหรับ Windows คือความจริงที่ว่าขณะนี้เดสก์ท็อป "เสมือน" หลายตัวได้รับการสนับสนุนอย่างเป็นธรรมชาติช่วยให้คุณสามารถจัดระเบียบคอลเลกชันของหน้าต่างไว้ด้วยกันและแยกงานออกเป็นกลุ่ม

ดีจัง.

คุณสามารถย้ายหน้าต่างระหว่างเดสก์ท็อปโดยคลิกปุ่ม "งาน" จากนั้นคลิกขวาที่หน้าต่างแอปพลิเคชันแล้วเลือก "ย้ายไปที่ ... "

นี่เป็นบิต clunky และไม่ค่อยดีนัก

ฉันมีจอภาพสองจอและมักชอบเล่นภาพยนตร์บนจอภาพที่สองของฉันไม่ว่าจะในเว็บเบราว์เซอร์หรือเครื่องเล่นสื่อในขณะที่ฉันมีเบราว์เซอร์และแอปพลิเคชั่นอื่น ๆ บนหน้าจอหลัก การทำสิ่งนี้ไม่ใช่ปัญหาในการตั้งค่าปัจจุบันของฉันมันใช้งานได้

กับการถือกำเนิดของเดสก์ท็เสมือนผมก็อยากจะใส่เบราว์เซอร์บนเดสก์ทอปเสมือนหนึ่งและแอปอื่นบนเดสก์ทอปเสมือนอื่นและยังคงมีความสามารถในการดูวิดีโอเมื่อฉันเปลี่ยนเดสก์ท็ได้อย่างมีประสิทธิภาพมีมันมองเห็นได้บนทั้งเดสก์ท็เสมือน การใช้แอพ Film & TV เริ่มต้นเพื่อเล่นวิดีโอจากนั้นย้ายไปยังเดสก์ท็อปอื่นเพียงส่งผลให้วิดีโอของคุณหยุดโดยไม่มีการเตือนใด ๆ

มันไม่ดี

สิ่งที่ฉันหวังคือทั้งสองจอภาพจะมีเดสก์ท็อปเสมือนของตัวเองหรือจะเป็นตัวเลือก "pin to all desktops" คล้ายกับคุณสมบัติ "หน้าต่างปักหมุด" ที่ฉันเห็นในเครื่องมือจัดการหน้าต่างที่ใช้ Linux หลายตัว

มีวิธีใดบ้างที่จะบรรลุเป้าหมายนี้?


ไม่ว่าฉันรู้เกี่ยวกับแม้ว่าฉันจะมีประสบการณ์กับระบบหลายระบบที่ใช้พื้นที่ทำงาน (ระบบลินุกซ์ที่แตกต่างกัน) ไม่มีใครเคยมีคุณสมบัตินี้ซึ่งแบ่งแนวคิดของการมีที่ทำงานหลายแห่ง
แดเนียล

2
@Daniel ฉันได้พูดกับคนหลายคนและพวกเขาอ้างว่ามันเป็น "หน้าต่างเหนียว"
Mokubai

2
@ Psychogeek ฉันหมายถึงทั้งจอภาพหลายจอและเดสก์ท็อปเสมือนจริงด้านจอภาพหลายจอก็ใช้ได้ ฉันสามารถเปิดวิดีโอวางไว้บนหน้าจอที่สองและทั้งหมดเป็นเรื่องปกติ แต่ถ้าฉันสลับไปที่เดสก์ท็อปอื่นโดยใช้คุณสมบัติเดสก์ท็อปเสมือนใหม่หน้าต่างวิดีโอจะหายไปและ (ในบางกรณี) หยุดเล่นทั้งหมด ฉันต้องการมีวิธีในการตรึงหน้าต่างกับเดสก์ท็อปเสมือนหลาย ๆ
Mokubai

ถ้าเป็นเช่นนั้นโปรแกรมเดสก์ท็อปเสมือนจำนวนมากจะมีคุณสมบัติดังกล่าวซึ่งคุณจะกำหนดโปรแกรมให้กับเสมือนเฉพาะปัญหารถบั๊กขนาดเล็กจำนวนมากยังคงมีอยู่ขึ้นอยู่กับวิธีการ
Psycogeek

6
ฉันคิดว่าเป็นตัวอย่างที่ดีสำหรับความต้องการนี้เกือบจะเป็นแอปพลิเคชันการสื่อสารใด ๆ ฉันต้องการใช้เดสก์ท็อปเสมือนแยกต่างหากสำหรับโครงการต่างๆที่ฉันกำลังทำงานอยู่ แต่ฉันต้องการ pin / ติดไคลเอ็นต์ IM และอีเมล ดูเหมือนว่าเป็นกรณีการใช้งานมาตรฐานที่ดีสำหรับฉันที่ฉันอาจต้องการแยกพื้นที่ทำงานโดยไม่ต้องสลับเดสก์ท็อปเพื่อรับการแจ้งเตือนทางอีเมล!
โคลิน K

คำตอบ:


100

ขณะนี้คุณลักษณะดังกล่าวได้รับการเผยแพร่เป็นหนึ่งใน"การปรับปรุงเดสก์ท็อปเสมือนจริง"หลายรายการในการปรับปรุงฉลองครบรอบ 10 ปีของWindows (Build 14316):

ตอนนี้คุณสามารถตรึงหน้าต่างเพื่อให้พร้อมใช้งานบนเดสก์ท็อปทุกเครื่อง เมื่อต้องการทำสิ่งนี้ให้เรียกใช้มุมมองงานจากนั้นคลิกขวาบนหน้าต่างที่คุณต้องการปักหมุดและเลือก“ แสดงหน้าต่างนี้บนเดสก์ท็อปทั้งหมด” ลองปักหมุด Skype หรือ Groove Music เพื่อให้อยู่ใกล้แค่ปลายนิ้วคุณ และหากคุณมีการตั้งค่าแบบมัลติมอนคุณอาจสนุกกับความสามารถในการมีแอพอีเมลของคุณบนจอภาพที่สองไม่ว่าคุณจะเปลี่ยนไปใช้เดสก์ท็อปก็ตาม

ป้อนคำอธิบายรูปภาพที่นี่


การโพสต์พูดถึงการมีอยู่ใน Windows Insider Fast Ring คุณมีไทม์ไลน์ใดบ้างที่จะลดลงสำหรับผู้ใช้ปกติ?
Mokubai

1
@Mokubai เท่าที่ฉันสามารถบอกได้ว่ายังไม่มีวันที่เผยแพร่สู่สาธารณะ เพียงแค่คลุมเครือ "ฤดูร้อน [ซีกโลกเหนือ] นี้"
Daniel Ballinger

แต่คุณจะเลิกตรึงได้อย่างไร
Mikey

@Mikey การยกเลิกการเลือกตัวเลือก "แสดง X บนเดสก์ท็อปทั้งหมด" ไม่ทำงานสำหรับคุณหรือไม่
Daniel Ballinger

ทำงานบนหน้าต่างที่ฉันคลิกได้ปัญหาคือเมื่อมองไม่เห็นในมุมมองงาน แน่นอนว่ามันจะปรากฏให้เห็นมาก่อนเมื่อฉันเปิดเครื่อง แต่ตอนนี้เมื่อใดก็ตามที่เข้าสู่มุมมองงานหน้าต่างจะหายไป .. ดังนั้นวิธีการปิดการใช้งานคืออะไร? มีรหัส reg หรือไม่? ขณะนี้ฉันมีปัญหากับโทรเลขซึ่งฉันคิดว่าเป็น QT (แอพข้ามแพลตฟอร์ม) เพื่อให้ชัดเจนหน้าต่างปรากฏให้เห็นบนเดสก์ท็อปทั้งหมด แต่จะหายไปเมื่อฉันเข้าสู่มุมมองงาน
มิคกี้

18

อ๋อ [เกือบ :)] ทุกหน้าต่างที่มีแอตทริบิวต์ WS_EX_TOOLWINDOW จะปรากฏบนเดสก์ท็อปทั้งหมด

Autohotkey เป็นตัวช่วยที่ดีในเรื่องนี้ ตัวอย่างสคริปต์ - MyLoop.ahk:

WS_EX_TOOLWINDOW: = 0x00000080
ห่วง
{
   WinSet, ExStyle, +% WS_EX_TOOLWINDOW%, ahk_class Chrome_WidgetWin_1
   การนอนหลับ 100
}

ใส่สิ่งนี้ในการเริ่มต้นหน้าต่างและหน้าต่าง Google Chrome จะ "ติด" กับเดสก์ท็อปเสมือนทั้งหมด

หรือกำหนดให้เป็นฮอตคีย์: สคริปต์ตัวอย่าง - MyHotkeys.ahk:

WS_EX_TOOLWINDOW: = 0x00000080
+ MButton :: WinSet, ExStyle, ^% WS_EX_TOOLWINDOW%, A
^ MButton :: WinSet, AlwaysOnTop, สลับ, A

ใส่สิ่งนี้ในการเริ่มต้น windows และคุณสามารถสลับสถานะ "เหนียว" สำหรับหน้าต่างใด ๆ โดยการกด Shift + ปุ่มกลางคลิกที่มัน

คีย์เพิ่มเติม - การคลิกปุ่ม Ctrl + กลางจะเป็นการสลับสถานะ "สูงสุด" มีประโยชน์มาก.

PS: แอปพลิเคชั่นที่ทันสมัย ​​(เช่น Windows 10 Calculator) ไม่สนใจสิ่งนี้ ไม่รู้ทำไม แต่สำหรับหน้าต่าง explorer และส่วนใหญ่ของ 'แอปพลิเคชันเก่า' - มันใช้ได้ทั้งหมด


ฉันลองใช้สคริปต์สำหรับคลิกกลาง + ปุ่มลัด ปุ่ม Ctrl + กลางทำงานได้ดี อย่างไรก็ตามฉันไม่สามารถใช้เดสก์ท็อปเสมือนข้ามการทำงานได้ ไม่มีหน้าต่างใดที่ฉันลองเปลี่ยนไปเลย
Daniel Ballinger

ทำงานให้ฉัน ในกรณีของฉันฉันต้องการตั้งค่าให้แสดงเสมอดังนั้นเปลี่ยน caret ( ^) ด้วยเครื่องหมายบวก ( +)
ohaal

1

จากวิธีแก้ปัญหา @idj ด้านบนนี่คือวิธีทำใน C:

exstyle = GetWindowLongPtr(hwndPtr, GWL_EXSTYLE);
exstyle |= WS_EX_TOOLWINDOW
SetWindowLongPtr(hwndPtr, GWL_EXSTYLE, exstyle);
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.