PDA

View Full Version : [VB.NET] Aggiungere un'opzione al menu contestuale di windows


wingman87
09-10-2008, 13:31
Allora, mi sono fatto un programmino per rinominare in fretta i file. Ora vorrei selezionando i file da rinominare (da explorer) e cliccando col destro selezionare il mio programmino. Come posso fare? Non so se sono stato chiaro, vorrei una cosa simile all'opzione che viene aggiunta quando di installa winrar per aggiungere i file selezionati ad un archivio

variabilepippo
09-10-2008, 13:52
Devi documentarti sulle shell extensions (http://msdn.microsoft.com/en-us/library/cc144110(VS.85).aspx).

wingman87
09-10-2008, 14:08
Mmm, sembra parecchio complicato, almeno per le mie conoscenze... Non c'è un modo più friendly?

Comunque ho estrapolato le cose che andrebbero lette (e che se trovo il tempo leggerò):
http://msdn.microsoft.com/en-us/library/bb776881(VS.85).aspx
http://msdn.microsoft.com/en-us/library/cc144110(VS.85).aspx#implementing
http://msdn.microsoft.com/en-us/library/cc144110(VS.85).aspx#_shell_reg_shell_ext_handlers

Grazie

wingman87
09-10-2008, 15:33
Ho "quasi" trovato una soluzione.
Aggiungendo le seguenti chiavi al registro:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\Nome Comando]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\Nome Comando\command]
@="ProgrammaDaEseguire %1"
Si ottiene quasi quello che volevo io. Il problema è che per ogni singolo file selezionato mi apre un'istanza diversa del mio programma, invece di aprire una volta sola il programma passandogli tutti i parametri.
Secondo voi sono vicino alla soluzione? Ho paura che per fare quello che dico io l'unica via sia quella indicata da variabilepippo