ไม่สามารถปิดใช้งานการปรับ DPI สำหรับ Visual Studio 2012


11

ฉันต้องการใช้งาน DPI สูงสำหรับแอปพลิเคชันส่วนใหญ่ที่ฉันใช้บนแล็ปท็อป 14 "1920x1080 ของฉันยกเว้น Visual Studio บางตัวที่ได้รับประโยชน์จากพื้นที่พิเศษอย่างไรก็ตามการตั้งค่า" ปิดการใช้งาน DPI สูง "ในความเข้ากันได้นั้น ใช้ Windows 8


Synetech แก้ไขคำถามนี้ ฉันไม่สามารถหาวิธีแสดงความคิดเห็นในการแก้ไขของเขาหรือส่งข้อความถึงเขาได้ดังนั้นฉันจะโพสต์เหตุผลที่นี่: คำถามนี้เฉพาะกับ VS 2012 (และอาจเป็นแอปพลิเคชันอื่น ๆ ที่ใช้เฟรมเวิร์กเฉพาะเช่น WPF) การตั้งค่าไม่ทำงาน นอกจากนี้ยังแทบจะไม่เฉพาะเจาะจงกับ Windows 8 แต่ฉันยังไม่ได้ทดสอบกับ 7 / Vista
— Aleksandr Dubinsky

ฉันลบWindowsแท็กออกเนื่องจากควรใช้เฉพาะเมื่อมีผลกับทุกเวอร์ชันWindowsเนื่องจากการใช้Windows 8แท็กนั้นกับคุณเท่านั้น
— Ramhound

คำตอบ:


2

ฉันถามChris Jackson, Microsoft AppCompat guy ; ไม่มีวิธีการทำเช่นนี้

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

ฉันยังถามเกือบสิ่งเดียวกันที่นี่


2
ขอบคุณสำหรับการตอบกลับของคุณ. เมื่อได้ยินสิ่งนี้และเมื่อได้ยินความคิดเห็นอื่น ๆ เกี่ยวกับการพัฒนา C # เราจะได้รับความประทับใจว่า Microsoft ไม่มีเงินและแทบจะไม่มีคนทำงานให้ ไม่มีความสนใจในรายละเอียด สิ่งเล็ก ๆ น้อย ๆ ไม่เคยได้รับการแก้ไข ทั้งหมดในชื่อ "เราไม่มีทรัพยากร" MS มีประสิทธิภาพเพียงใด อย่างไรก็ตามนี่เป็นเรื่องใหญ่เพราะฉันจ่ายเงินดอลล่าร์เพื่อการแสดงผลที่มีประโยชน์ต่อแอพที่หิวจอ ฉันได้ปิด High DPI ทั้งหมดแล้ว แต่ทำไมแอพอื่น ๆ ถึงเล็กมาก? DPI ต่อแอพแรงหรือไม่ Chris บอกเป็นนัยว่าการแก้ไขนั้นง่าย แต่ "ต้องห้าม"
— Aleksandr Dubinsky

@AleksandrDubinsky - หากคุณได้รับความประทับใจนั้นฉันไม่ทราบว่าสิ่งที่ได้ยินของคุณ แต่สิ่งที่ Microsoft ทำ มีการปรับปรุงหลายร้อยอย่างระหว่าง. NET 4.0 และ. NET 4.5
— Ramhound

@Rahmound Eric Lippert ตอบคำถาม SO ว่าทำไม C # ไม่สามารถอนุมานประเภททั่วไปสำหรับตัวสร้างด้วยบางสิ่งบางอย่างเช่น "ไม่มีปัญหาจริงมันจะเหมือนกับอนุมานพวกเขาสำหรับวิธีการ แต่เรามีงบประมาณ จำกัด [- เยาห์ ถูกต้อง] และ btw ความสอดคล้องของภาษามีความสำคัญต่ำ " ตัวอย่างอื่น ๆ ใน C # เป็นข้อ จำกัด ประเภททั่วไปสำหรับ Enums และผู้ได้รับมอบหมายซึ่งเป็นสิ่งที่ง่ายต่อการปฏิบัติ หรือเช่น Word / Excel 2010 ยังคงมีพฤติกรรม Alt + Tab ที่แปลกประหลาดเพราะไม่มีใครใส่ใจที่จะเขียน hacks รอบ MDI เก่าอีกครั้ง หรือ Win8 ทั้งหมดที่ไม่ใช่รถไฟใต้ดิน รายการยังคงดำเนินต่อไปรวมถึงคำตอบนี้
— Aleksandr Dubinsky

ปรัชญาของ @Rahmound MS เป็นเพียงแค่นี้: การเพิ่มคุณสมบัติใหม่นั้นยอดเยี่ยม การปรับปรุงสิ่งที่เขียนไว้แล้วคือ "การสูญเสียทรัพยากรอันมีค่าของเราไปอย่างไร้ค่า" แม้ว่าจะไม่มีคุณสมบัติที่จะเพิ่มอีกต่อไป นั่นไม่สอดคล้องกับจำนวนเงินที่ MS มีอยู่และใช้เงินจริง ๆ เมื่อเวลาผ่านไปหลายทศวรรษ กล่องโต้ตอบครึ่งหนึ่งของ Word / Excel มีมาก่อน Office 95! บวกกับความบ้าคลั่งแบบหลายหน้าต่าง Visual Studio เป็นความเจ็บปวดที่ต้องใช้เมื่อพบ Netbeans GUI ของ VS ถูกเขียนขึ้นใหม่ทั้งหมดใน WPF สำหรับปี 2010 และไม่มีอะไรดีขึ้นที่ได้รับการปรับปรุง ภาวะหยุดนิ่ง ยอดเยี่ยมชะงักงันปลอบโยน
— Aleksandr Dubinsky

MS เป็นคอร์ปขนาดใหญ่ ซึ่งหมายความว่าในอเมริกาพวกเขามีฐานพนักงานจำนวนมาก แต่มีเพียงไม่กี่คนที่ทำงานได้จริง ทุกคนต้องการทำงานเพื่อ M $ แต่ไม่มีใครทำเพื่อความรักของการเข้ารหัสหรือทำน้อยมากอีกต่อไป
— Motes

17

นี่เป็นไปได้

ฉันลองสิ่งนี้บน Windows 8 และทำงานได้อย่างสมบูรณ์:

  1. ไปที่ Visual Studio Shortcut / launcher ของแอป
  2. คลิกขวาและแก้ไขปัญหาความเข้ากันได้
  3. โปรแกรมแก้ไขปัญหาต่อไป
  4. แก้ไขปัญหาโปรแกรม
  5. เห็บ: โปรแกรมเปิดขึ้น แต่ไม่แสดงอย่างถูกต้อง
  6. โปรแกรมทดสอบ ..
  7. ใช่บันทึกการเปลี่ยนแปลง

คุณพร้อมแล้ว!


ทำงานบน Visual Studio 2012 Update 5 บน Windows 8
— rtc11

1
ทำงานร่วมกับ VS 2015 บน Windows 10 ยกเว้นคุณต้องค้นหาตัวเรียกใช้งานแอปผ่านเมนูเริ่มต้นของคุณและเปิดตำแหน่งไฟล์ทางลัดเนื่องจากรายการเมนูแก้ไขปัญหาความเข้ากันได้นั้นใช้ได้เฉพาะเมื่อคุณคลิกขวาจากทางลัดใน windows explorer
— Tjaart

ทำงานกับ VS 2015 บน windows 8.1
— Zoomzoom

สิ่งนี้ได้ดักฟังฉันมาระยะหนึ่งแล้ว มันทำงานได้อย่างสมบูรณ์ขอบคุณ!
— RyanOC

ทำงานกับ VS 2017 บน windows 10
— Nick Tsai

16

นี่เป็นไปได้อย่างแน่นอน ฉันใช้การตั้งค่า "ความเข้ากันได้" กับไฟล์โปรแกรมที่ต้องทำ แต่ด้วยเหตุผลบางอย่างที่ไม่สามารถใช้ได้กับ VS อย่างไรก็ตามคีย์รีจิสตรีเทียบเท่าทำงานได้ดี ที่สำคัญคือHKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersและคุณเพียงแค่ต้องเพิ่มค่าสตริง "~ HIGHDPIAWARE" (เช่นเดียวกับการทำเครื่องหมายในกล่องนั้นในแท็บความเข้ากันได้ของคุณสมบัติของปฏิบัติการ) หรือคุณสามารถเรียกใช้สิ่งนี้:

reg เพิ่ม "NT \ CurrentVersion \ AppCompatFlags \ Layers" / v "HKCU \ Software \ Microsoft \ Windows เส้นทางแบบเต็มไปยังปฏิบัติการ" / t REG_SZ / d "~ HIGHDPIAWARE"


1
ยินดีต้อนรับสู่ SU! คำตอบสำหรับลิงก์อย่างเดียวถือว่าไม่เป็นข้อผิดพลาดเนื่องจากอาจเป็นไปได้ว่าการเชื่อมโยงในอนาคตจะเกิดขึ้น โปรดแก้ไขคำตอบของคุณและรวมถึงข้อมูลที่เกี่ยวข้องโดยตรงและรวมถึงลิงค์เป็นการอ้างอิงแหล่งที่มา
— Ƭᴇcʜιᴇ007

สิ่งนี้จะทำงานเฉพาะสำหรับ VS หรือไม่ ฉันไม่เห็นสิ่งที่ระบุ exe
— Aleksandr Dubinsky

ใช่ขออภัยมาร์กอัปของ Aleksandr SU ได้ลบตัวยึดตำแหน่ง ตรวจสอบคำตอบอีกครั้ง
— futuresandwich

ยังใช้งานได้ใน Visual Studio 2013 btw
— Brad Bamford

สำหรับ Visual Studio 2013 ในเส้นทางรีจิสทรีที่ระบุฉันมีคีย์สตริงต่อไปนี้: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exeด้วยค่า~ RUNASADMIN HIGHDPIAWARERun as Admin และ No Scaling
— Ivan Akcheurov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.