Windows Tips & News

วิธีแก้ไขแอพที่ดูเล็กบน DPI สูงและจอแสดงผลความละเอียดสูง

ทุกวันนี้ พีซีจำนวนมากมาพร้อมกับจอแสดงผลที่มีความละเอียดสูง แม้ว่าฟอร์มแฟคเตอร์ของพีซีจะเล็กกว่า เช่น Ultrabook หรือแท็บเล็ต หรือคุณอาจมีจอภาพเดสก์ท็อปที่มีความละเอียด 4K ด้วยความละเอียดดังกล่าว Windows จะเปิดการปรับขนาด DPI โดยอัตโนมัติ เพื่อให้ทุกอย่างบนหน้าจอของคุณใหญ่ขึ้น อย่างไรก็ตาม มีแอปของบุคคลที่สามบางแอปซึ่งแสดงผลไม่ถูกต้องในหน้าจอ DPI สูง ดูเล็กเกินไปสำหรับความละเอียดหน้าจอ ให้เราดูวิธีแก้ไขหาก Windows 8.1 หรือ Windows 10 ปรับขนาดไม่ถูกต้อง


โดยปกติ แอปดังกล่าวจะเขียนขึ้นก่อนที่หน้าจอ DPI สูงจะปรากฏขึ้น และไม่ได้รับการอัปเดตอย่างเหมาะสมเพื่อรองรับ DPI สูง ปรากฏบนหน้าจอเล็กเกินไป ทำให้อ่านฟอนต์ไม่ได้ และปรับขนาดไม่เหมาะสม บ่อยครั้งที่ปุ่มวางผิดที่หรือเล็กเกินกว่าจะคลิกสำหรับแอปเก่าที่ยังไม่ได้อัปเดตสำหรับการแสดงผล DPI สูง โดยปกติแล้ว Windows จะปรับขนาดแอปทั้งหมดโดยอัตโนมัติโดยใช้การปรับขนาดสไตล์ XP รวมถึงการจำลองเสมือน DPI สำหรับแอปเหล่านั้นที่ไม่ได้บอก Windows ว่าพวกเขารับรู้ DPI อย่างไรก็ตาม มีแอพบางตัวที่โกหก Windows ว่าพวกเขารับรู้ DPI สูงแม้ว่าจะไม่ใช่ก็ตาม ซึ่งเป็นสาเหตุที่ Windows ไม่ปรับขนาด แอพดังกล่าวแสดงผลไม่ถูกต้องในความละเอียด Full HD หรือ 4K

ในการแก้ไขปัญหาเหล่านี้ สามารถทำได้โดยใช้กลอุบายที่บังคับให้ Windows ปรับขนาดแอปโดยใช้การจำลองเสมือน DPI อย่างไรก็ตาม จากการทดสอบของฉัน สามารถทำได้อย่างปลอดภัยใน Windows 8.1 และ Windows 10 เท่านั้น ขั้นตอนนั้นยาวและซับซ้อนเล็กน้อยสำหรับผู้ใช้มือใหม่ แต่ไม่มี GUI ด่วนใน Windows ที่จะบังคับให้เปิดการจำลองเสมือน DPI สำหรับแอพเฉพาะ การปรับแต่ง Registry ที่เกี่ยวข้องกับการปรับแต่งนี้ใน Windows 7 หรือ Windows 8.0 ทำให้เกิดเรื่องแปลก พฤติกรรมและผลข้างเคียงเช่นไอคอนถาดระบบหายไปดังนั้นคุณต้องยอมรับความเสี่ยงเองหากคุณเรียกใช้ OS เหล่านี้ หากคุณใช้ Windows 8.1 หรือ Windows 10 ให้ดำเนินการตามคำแนะนำเหล่านี้

  1. สร้างไฟล์ข้อความเปล่าจากเมนูใหม่โดยคลิกขวาที่ใดก็ได้เช่น บนเดสก์ท็อปหรือในโฟลเดอร์ ไฟล์ข้อความควรมีชื่อของโปรแกรม EXE ซึ่งแสดงผลน้อยเกินไป ตามด้วยข้อความ ".manifest" ตัวอย่างเช่น หากชื่อของโปรแกรมที่คุณใช้ซึ่งมีขนาดเล็กคือ SearchTool.exe ไฟล์ข้อความที่คุณสร้างควรมีชื่อว่า "SearchTool.exe.manifest" หากคุณไม่ทราบชื่อ EXE ให้คลิกขวาที่ทาสก์บาร์และเปิดตัวจัดการงานในขณะที่แอปนั้นทำงานอยู่ เลือกแอปและคลิกขวาแล้วคลิกไปที่รายละเอียด บนแท็บรายละเอียด ชื่อ EXE จะปรากฏขึ้น จากนั้นคุณสามารถสร้างไฟล์ข้อความด้วยชื่อที่เหมาะสมได้ เช่น. ชื่อกระบวนการ.exe.manifest
  2. ดาวน์โหลดและติดตั้งโปรแกรม Resource Hacker ฟรีจากที่นี่: http://www.angusj.com/resourcehacker/. เป็นเครื่องมือแก้ไขทรัพยากร เหตุผลที่เราต้องการก็เพราะว่าบางครั้งรายการแอพถูกจัดเก็บไว้ใน EXE และ Windows ชอบรายการแอพภายในนี้เป็นค่าเริ่มต้น เราไม่ต้องการที่จะเพิกเฉยต่อรายการแอพภายในอย่างสมบูรณ์หากมีอยู่นั่นคือหากผู้พัฒนาแอพได้เพิ่มเข้าไป เพราะนอกจากการปรับขนาด DPI แล้ว ยังมีข้อมูลสำคัญอื่นๆ เกี่ยวกับการกำหนดค่าแบบเคียงข้างกันของแอปและ UAC ระดับความสูง
  3. เริ่มแฮ็กเกอร์ทรัพยากรและเปิด EXE ของแอปซึ่งดูเล็กจนใช้งานไม่ได้บนจอแสดงผลความละเอียดสูงของคุณ
  4. ทรัพยากรรายการของโปรแกรม (EXE) มักจะถูกจัดเก็บเป็นทรัพยากรประเภท 24 ตรวจสอบว่ามีแหล่งข้อมูล 24 นี้อยู่หรือไม่ หากไม่มีทรัพยากรดังกล่าว #24 อยู่ใน EXE ที่คุณเปิด ให้ปิด Resource Hacker และเปิดไฟล์ที่คุณ สร้างในขั้นตอนที่ 1 ใน Notepad แล้วคัดลอกและวางข้อความต่อไปนี้ภายใน จากนั้นบันทึกและปิดข้อความ ไฟล์:
     1.0 UTF-8 ใช่?>เท็จ

    ให้ข้ามไปที่ขั้นตอนที่ 9 โดยตรงสำหรับกรณีที่ไม่มีทรัพยากร 24 ใน EXE ที่คุณเปิด และคุณได้ทำตามขั้นตอนข้างต้นแล้ว

  5. หากมีทรัพยากร 24 อยู่ใน EXE ที่คุณเปิดใน Resource Hacker ให้ขยายโหนดชื่อ 24 -> 1 และคลิกที่รายการ 1033 (เป็น 1033 สำหรับรุ่นภาษาอังกฤษ) คลิกขวาในบานหน้าต่างด้านขวาแล้วคลิกเลือกทั้งหมด จากนั้นคลิกขวาที่ข้อความที่เลือกอีกครั้งแล้วคลิกคัดลอกและปิด Resource Hacker อย่าทำการเปลี่ยนแปลงใดๆ กับรายการภายในของ EXE เนื่องจาก EXE อาจมีการเซ็นชื่อหรือบีบอัดแบบดิจิทัล เราไม่ต้องการแก้ไข EXE ดั้งเดิม
  6. เปิด Notepad เปิดไฟล์ที่คุณสร้างในขั้นตอนที่ 1 ใน Notepad และวางสิ่งที่คุณคัดลอกจาก Resource Hacker ลงใน Notepad แล้วบันทึกไฟล์นี้จากเมนูไฟล์
  7. ในไฟล์นี้ ดูว่ามีส่วนใดบ้างที่มีการตั้งค่าสถานะ dpiaware เป็น True (ซึ่งหมายความว่าแอปอ้างว่าเป็น DPI ที่รับรู้หากดูเล็กเมื่อแสดง DPI สูง):
    จริง

    หากมี ให้เปลี่ยนจาก จริง เป็น เท็จ หากไม่มีส่วนดังกล่าวที่เกี่ยวข้องกับการรับรู้ DPI ในข้อมูลรายการของแอป ให้เพิ่มบล็อกข้อความด้านบนต่อจากบรรทัดต่อไปนี้ในไฟล์รายการ:

  8. เปลี่ยนการตั้งค่าสถานะ dpaware จาก True เป็น False และบันทึกการเปลี่ยนแปลงลงในไฟล์แล้วปิด
  9. คัดลอกไฟล์ไปยังโฟลเดอร์ของ EXE ตัวอย่างเช่น ถ้ามีการติดตั้งโปรแกรมใน C:\Program Files\Contoso\SearchTool.exe ให้คัดลอกรายการไปยังไดเรกทอรี C:\Program Files\Contoso
  10. ตอนนี้ เราต้องปรับแต่ง Windows เพื่อบอกให้มันชอบไฟล์รายการภายนอกมากกว่าไฟล์ภายในที่ฝังอยู่ใน EXE ต้องปรับแต่ง Registry นี้ *เฉพาะ* สำหรับ Windows 8.1 และ Windows 10 หากคุณใช้ Windows 7 หรือ Windows 8.0 RTM การปรับแต่ง Registry ต่อไปนี้อาจทำให้เกิดผลข้างเคียงที่ไม่คาดคิด เช่น การทำงานของระบบบางส่วนหยุดทำงานหรือแอปหยุดทำงาน
  11. เปิด Registry Editor (Regedit.exe) ใน Windows 8.1 หรือ Windows 10 นำทางไปยังคีย์ย่อยของรีจิสทรีต่อไปนี้:
    HKEY_LOCAL_MACHINE > ซอฟต์แวร์ > Microsoft > Windows > CurrentVersion > SideBySide
  12. คลิกขวา เลือก ใหม่ > ค่า DWORD (32 บิต) ตั้งชื่อ: PreferExternalManifest แล้วกด ENTER
  13. คลิกขวาPreferExternalManifestและจากนั้น คลิกปรับเปลี่ยน ป้อนข้อมูลค่า 1 คลิกตกลง ออกจากตัวแก้ไขรีจิสทรี
  14. ตอนนี้รีสตาร์ท Windows และเรียกใช้แอพที่คุณเพิ่มรายการนี้

แอปควรได้รับการปรับขนาดตามคุณลักษณะการจำลองเสมือนของ Windows DPI และจะไม่ดูเล็กเกินไปด้วยการควบคุมที่ใช้ไม่ได้อีกต่อไป ข้อความอาจดูไม่ชัดเจน แต่นั่นเป็นเพราะนักพัฒนาแอปไม่ได้อัปเดตแอปให้มี DPI สูง ข้อความที่พร่ามัวเล็กน้อยนั้นทนได้กว่าอินเทอร์เฟซผู้ใช้ขนาดเล็กที่ไม่สามารถอ่านได้ด้วยการควบคุมขนาดเล็ก

หากแอปยังอยู่ระหว่างการพัฒนาอย่างแข็งขัน คุณควรติดต่อนักพัฒนาเพื่อให้เขาปรับขนาดได้อย่างเหมาะสมที่ DPI สูง ไม่ใช่แค่ทำเครื่องหมาย EXE ว่ารับรู้ DPI สูง หากแอปไม่ได้รับการดูแลอีกต่อไป แสดงว่าคุณโชคไม่ดี สิ่งนี้ดีพอ ๆ กับหน้าตาของแอพ (ด้วยข้อความที่เบลอเล็กน้อย) อย่างไรก็ตาม แอปควรจะใช้งานได้แล้ว

Windows 10 file explorer หอจดหมายเหตุ

หากคุณติดตั้งการอัปเดตในโอกาสวันครบรอบของ Windows 10 คุณอาจสังเกตเห็นว่ามีรายการเมนูบริบทใหม่สำหร...

อ่านเพิ่มเติม

เปิดใช้งาน DNS ผ่าน HTTPS ใน Chrome (DoH)

เปิดใช้งาน DNS ผ่าน HTTPS ใน Chrome (DoH)

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบวิธีเปิดใช้งาน DNS ผ่าน HTTPS ...

อ่านเพิ่มเติม

Ubuntu 19.04 "Disco Dingo" พร้อมใช้งานในรูปแบบอิมเมจ Hyper-V แล้ว

Ubuntu 19.04 "Disco Dingo" พร้อมใช้งานในรูปแบบอิมเมจ Hyper-V แล้ว

หากคุณใช้ Hyper-V เป็นประจำ คุณอาจจะต้องแปลกใจเมื่อรู้ว่า Microsoft ได้เพิ่มอิมเมจเครื่องเสมือน U...

อ่านเพิ่มเติม