ไอคอน ShellNew สำหรับ“.” ประเภทไฟล์


8

ฉันได้สร้างคำสั่ง ShellNew สำเร็จเพื่อให้ฉันสามารถสร้างไฟล์เปล่าใหม่โดยไม่มีนามสกุลไฟล์ ไฟล์ reg มีลักษณะดังนี้:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\.]

[HKEY_CLASSES_ROOT\.]
@="emptyFile"

[HKEY_CLASSES_ROOT\.\ShellNew]
"NullFile"=""
@="Empty File"
"ItemName"=""

[HKEY_CLASSES_ROOT\.\ShellNew\Config]
"NoExtension"=""

[-HKEY_CLASSES_ROOT\emptyFile]

[HKEY_CLASSES_ROOT\emptyFile]
@="Empty File"

[HKEY_CLASSES_ROOT\emptyFile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,2"

มันใช้งานได้ยอดเยี่ยมและทั้งหมด มันสร้างไฟล์ตามที่ฉันต้องการ แต่ไอคอนที่แสดงในหน้าต่าง ShellNew เป็นไอคอนสำหรับ System Partition ดังนี้:

1

ฉันจะเปลี่ยนไอคอนนี้ให้ตรงกับ DefaultIcon ที่ฉันให้ไว้สำหรับประเภทไฟล์ได้อย่างไร ฉันได้ลองทำค่าสตริง "ไอคอน" เหมือนที่ฉันต้องทำสำหรับรายการเมนู Unity และ Sublime Text และมันไม่ทำงานไม่ว่าฉันจะวางไว้ที่ไหน


ฉันสามารถทำซ้ำ พยายามที่จะคิดออกว่ามีวิธีที่จะแก้ไขได้ ...
Karan

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

ดูเหมือนว่าและถ้าฉันคิดออกฉันจะโพสต์คำตอบแน่นอน
Karan

ฉันไม่สามารถทำซ้ำสิ่งนี้ได้
Visual Vincent

คำตอบ:


3

ลองสิ่งนี้ทำงานเหมือนเวทมนตร์

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="emptyFile"

[HKEY_CLASSES_ROOT\.\ShellNew]
"NullFile"=""
@="Empty File"
"ItemName"=""
"IconPath"="C:\\windows\\system32\\imageres.dll,2"

[HKEY_CLASSES_ROOT\.\ShellNew\Config]
"NoExtension"=""

[-HKEY_CLASSES_ROOT\emptyFile]

[HKEY_CLASSES_ROOT\emptyFile]
@="Empty File"

[HKEY_CLASSES_ROOT\emptyFile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,2"

เปลี่ยนแปลงเท่านั้น ฉันเพิ่ม IconPath ที่ระดับ. text การเชื่อมโยงประเภทไฟล์เป็นสิ่งที่น่าทึ่ง!


อีกอย่างคือสำหรับ DefaultIcon ของ ProgID คุณได้ตั้งค่าสตริงที่ขยายได้ซึ่งควรเป็นประเภท REG_EXPAND_SZ แทนที่จะเป็น REG_SZ ดูเหมือนว่า ShellNew จะไม่ใช้ไอคอนที่กำหนดไว้
w32sh

ใช่ว่ามัน ทำได้ดี!
Ben N

ว้าวอายุประมาณ 9 เดือนและเป็นวิธีแก้ไขที่ง่ายมาก เยี่ยมมาก!
GodsBane

มันบอกว่าเงินรางวัลกำลังจะปิด "ใน 2 ชั่วโมง" นั่นคือเมื่อฉันตอบ :)
w32sh

0

คุณไม่ควรใช้ "imageres.dll, 3" เพราะไอคอนตัวที่ 3 ใน imageres.dll?

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


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

@ orion310591: ดัชนีเริ่มจาก 0 ดังนั้นในทางเทคนิคแล้วมันเป็นไอคอนที่ 2
w32sh

0

หากคุณสามารถค้นหาประเภท "ไฟล์เปล่า" ในเครื่องมือ FileTypesMan คุณอาจสามารถเปลี่ยนไอคอนเริ่มต้นที่นั่น

FileTypesMan: http://www.nirsoft.net/utils/file_types_manager.html


ฉันรู้สึกว่าเครื่องมือชนิดนั้นทำในสิ่งที่ OP ทำด้วยตนเอง แต่ฉันจะลองเมื่อฉันมีเวลา
Ben N

@BenN ฉันเดาว่าคุณถูกต้อง - ฉันคิดว่า OP แค่ต้องการ 'แก้ไข' แต่ฉันคิดว่าพวกเขาต้องการหาโซลูชัน regedit
Stian Lund

หน้าต่างบางแห่งต้องทับไอคอนเนื่องจาก FileTypesMan เห็นไอคอนที่ถูกต้องแสดงที่นั่นและยัง ShellNew ยังคงแสดงไอคอนไดรฟ์ระบบปฏิบัติการ นี่เป็นกรณีใน Windows 10 แม้ว่าฉันจะสงสัยว่ามันจะเปลี่ยนไป
GodsBane

0

ไม่ว่าจะด้วยเหตุผลใดก็ตามจะใช้ไอคอนเริ่มต้นเดียวกันกับCไดรฟ์ของคุณ

คุณสามารถเห็นสิ่งนี้ได้ด้วยตัวเองโดยสร้างรหัสต่อไปนี้หากยังไม่มีอยู่:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\C\DefaultIcon

และการตั้งค่า (ค่าเริ่มต้น) เป็น:

%SystemRoot%\\system32\\imageres.dll,2

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

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

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

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