ShellNew Icona per "." Tipo di file


8

Ho creato con successo un comando ShellNew in modo da poter creare un nuovo file vuoto senza estensione. Il file reg è simile al seguente:

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"

Funziona alla grande e tutto. Crea il file proprio come lo voglio, ma l'icona visualizzata nella finestra ShellNew è l'icona per la partizione di sistema in questo modo:

1

Come posso modificare questa icona in modo che corrisponda a DefaultIcon che sto fornendo per il tipo di file stesso? Ho provato a creare un valore di stringa "Icona" come quello che dovevo fare per le voci di menu Unity e Sublime Text e che non funzionava indipendentemente da dove l'ho messo.


Posso replicare. Sto cercando di capire se c'è un modo per risolverlo ...
Karan,

Suppongo che non hai ancora trovato una soluzione? Sto pensando che ci debba essere qualcosa nel registro che afferma che poiché non ha un tipo di file associato, presuppone che sia un'unità?
GodsBane,

Sembra, e se l'avessi capito avrei pubblicato una risposta, ovviamente.
Karan,

Non riesco a replicare questo.
Visual Vincent,

Risposte:


3

Prova questo, funziona come per magia.

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"

Cambia solo. Ho aggiunto un IconPath al livello .ext. Le associazioni dei tipi di file sono cose fantastiche!


Un'altra cosa è che per DefaultIcon di ProgID hai impostato una stringa espandibile, che in realtà avrebbe dovuto essere di tipo REG_EXPAND_SZ anziché REG_SZ. Indipendentemente da ciò, ShellNew non sembra utilizzare l'icona definita lì.
w32sh,

Sì, lo fa. Molto bene!
Ben N,

Wow, ~ 9 mesi e una soluzione così semplice. Lavoro fantastico!
GodsBane,

Diceva che la generosità stava per chiudere "in 2 ore". Questo è quando ho risposto :)
w32sh

0

Non dovresti usare "imageres.dll, 3" perché la sua terza icona in imageres.dll?

Puoi provare l'applicazione Editor di programmi predefiniti, aprire il programma, fare clic sulle icone, trovare il tipo di file, fare clic su Avanti, scegliere l'icona dagli imager e salvare come file .REG, quindi controllare cosa c'è dentro quel .reg.


Per questo non è possibile utilizzare l'Editor di programmi predefinito perché il file creato non ha estensione.
GodsBane,

@ orion310591: l'indice inizia da 0. Quindi tecnicamente è la seconda icona.
w32sh,

0

Se riesci a trovare il tipo "File vuoto" nello strumento FileTypesMan, potresti essere in grado di modificare l'icona predefinita lì.

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


Ho l'impressione che quel tipo di strumenti faccia semplicemente ciò che l'OP ha fatto manualmente, ma lo proverò quando avrò tempo.
Ben N,

@BenN Immagino che tu abbia ragione - supponevo che OP volesse solo 'ripararlo' ma immagino che volessero trovare una soluzione regedit.
Stian Lund,

Da qualche parte Windows deve sovrascrivere l'icona perché FileTypesMan vede l'icona corretta, la visualizza lì, eppure ShellNew mostra ancora l'icona dell'unità OS. Questo è ancora il caso di Windows 10, anche se dubitavo che sarebbe cambiato.
GodsBane,

0

Per qualsiasi motivo, utilizza la stessa icona predefinita Cdell'unità.

Puoi vederlo da solo creando la seguente chiave, se non esiste già:

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

E impostando (Predefinito) su:

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

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Temo di non poter rispondere esattamente al perché si verifichi questo comportamento. In realtà c'è un altro thread qui che riesce a cambiare l'icona con una chiave di registro diversa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.