dino_sauro00
02-10-2005, 01:40
Introduzione e spiegazione dei termini:
-------------------------------------
Sperando di fare cosa gradita (e siccome ho affrontato questo problema 2-3 volte consecutive a pochi giorni di distanza), ho deciso di preparare questa piccola giuda che vi aiuterà a risolvere (almeno spero :D ), 2 problemi fastidiosi di Windows;
1) quelli del menu contestuale (il menu che dovrebbe apparire, quando si fa click destro su un file)
2) dei vari common tasks che appaiono alla parte sinistra dello schermo, quando per esempio si seleziona una cartella contenente file mp3,foto ecc.
Quindi, se avete questo problema continuate a leggere. Per quelli che hanno fretta, andate direttamente all'ultima parte dove ho descritto soltanto il procedimento da seguire. Se invece volete rompervi le palle, continuate a leggere :D
Domande e risposte (Parte scoglionante. Saltatela senza rimorsi): :D
------------------------------------------------------------------
Il menu contestuale è chiaramente una delle features più utilizzate di Windows XP. Lì, si possono "intrufolare" le varie voci dei programmi che installiamo, oltre a quale che con un po' di modiche al registro, abbiamo inserito noi.
Ma come funziona effettivamente questo menu contestuale?
Vediamo un po' il tutto dal punto di vista del programmatore.
Quando noi utenti facciamo click destro su un oggetto della shell (con oggetto qui intendiamo una qualsiasi cosa che può far parte della shell), questa fa apparire il menu contestuale. Qui sorge però spontanea una domanda: se io clicco su dei fle diversi mi si aprono menu contestuali con voci differenti, sempre a seconda del tipo del file su cui ho cliccato. Come fa la shell a sapere che voci deve far apparire ogni volta?
La risposta è che la shell controlla innanzi tutto se noi abbiamo cliccato effettivamente su un file e se è così carica le voci di default (tipo Copia,Incolla,Sposta ecc)
Altra domanda: e se il file l'ho installato io, come fa la shell a sapere che WinRar per esempio è un programma e che deve avere la sua di voce nel menu contestuale?
Qui entrano in gioco il registro e i benedetti (o maledetti :D ) context menu handlers.
Context menu handlers (se li conosci, li eviti)
-------------------------------------------
I context menu handlers non sono altro che delle estensioni della shell, che possono aggiungere dei comandi al menu contestuale quando e' necessario, e vengono chiamati ogni volta che noi chiamiamo un menu contestuale facente parte della "famiglia" dei files.
In poche parole, se noi aggiungiamo delle voci al menu contestuale tramite il registro, queste voci saranno le stesse per ogni membro della "famiglia". Quindi appena viene installato WinRar, registra un menu handler per la sua estensione e questo handler apparira' in ogni file che fa parte della stessa famiglia.
Il discorso purtroppo è un po’ tecnico, ma spero di essere stato chiaro.
Problemi: perchè si causano e come risolverli…
--------------------------------------------
Qui siamo arrivati nel vivo di questa piccola giuda. Allora abbiamo installato la nostra nuova, edizione di WinRar che promette di risolvere un miliardo di bug vecchi e aggiungerne solo qualche milione in più di nuovi, riavviamo, facciamo click destro e per nostra sorpresa, tutto sembra bloccarsi. Il menu non esce e anche dopo un riavvio veloce non sembra funzionare lo stesso. Che e' successo?
In poche parole è successo che il context menu handler che il programma ha aggiunto nel menu contestuale è buggato e blocca il nostro menu. Come si fa quindi a risolvere?
Quello che prima di tutto ci serve è un programmino che ci aiuti a vedere tutti gli handlers e levare proprio quelli che pensiamo causano problemi. Questo programmino c è, è freeware e lo trovate qui (http://www.nirsoft.net/utils/shexview.html) :
col nome ShellExView.
Dopo averlo scaricato, potete o lanciarlo direttamente o scompattarlo in qualche cartella (non necessita di installazione).
Lanciandolo, fa una scansione del nostro registro e ci presenta una finestra con tante voci, dove alcune di queste sono illuminate in rosa.
In questo suo modo, il programma ci indica che quelle voci si riferiscono a estensioni non Microsoft (quindi estranee al sistema operativo in se).
Il programma pero' non indica solo i menu handlers, ma anche una miriade di altri tipi che a noi adesso non interessano.
Per questo motivo, bisogna pigiare una volta su Type, (così il programma organizza i dati mettendo insieme tutti i tipi che sono uguali), e poi cercare il tipo Context Menu.
Una volta trovate le voci, bisogna proseguire, disabilitando una alla volta (click destro, ”disable selected items” o semplicemente pigiando F7), le voci in rosa e poi senza chiudere il programma provare a vedere se il menu contestuale (o il common task) ha ripreso a funzionare.Se cosi non fosse, riabilitate la voce e continuate alla prossima sempre in rosa.
Appena trovata la voce che sblocca il menu avete 2 possibilità: o lasciarla disabilitata, o entrare proprio nel programma che ha inserito la voce e cercare nei suoi menu se c'e' l'opzione che toglie definitivamente tale voce dal registro.
Programmi noti a causare problemi
---------------------------------
Aggiungo oggi questa parte perche' sembra che alcuni programmi siano piu' soliti a causare problemi al menu contestuale che altri. Ecco una piccola lista che verra' piano - piano aggiornata.
Dr. Divx.
Alcohol
Object Edit
Daemon Tools
Tauscan
ACDSee 7.0
AVG 6.0
Per i frettolosi (ossia “Non me ne frega niente delle tue menate. Io voglio sapere come risolvere il mio problema subito”)
----------------------------------------------------------------------
Questa parte descrive soltanto il procedimento da seguire, senza obbligarvi a leggere tutta la guida.
1) Andate qui (http://www.nirsoft.net/utils/shexview.html) e scaricate ShellExView
2) Scompattatelo in una cartella e lanciatelo
3) Appena finisce la scansione del registro, cliccate su Type e cercate per il tipo Context Menu
4) Adesso dovete disabilitare,UNA ALLA VOLTA, SOLO le voci in rosa e poi provare se il menu contestuale ha ripreso a funzionare.
5) Se cosi non fosse abilitate l'ultima voce che avete disabilitato e continuate alla prossima SEMPRE IN ROSA
Questa è la mia piccola guida che spero troviate utile.
Un saluto a tutti!
Ciao
-------------------------------------
Sperando di fare cosa gradita (e siccome ho affrontato questo problema 2-3 volte consecutive a pochi giorni di distanza), ho deciso di preparare questa piccola giuda che vi aiuterà a risolvere (almeno spero :D ), 2 problemi fastidiosi di Windows;
1) quelli del menu contestuale (il menu che dovrebbe apparire, quando si fa click destro su un file)
2) dei vari common tasks che appaiono alla parte sinistra dello schermo, quando per esempio si seleziona una cartella contenente file mp3,foto ecc.
Quindi, se avete questo problema continuate a leggere. Per quelli che hanno fretta, andate direttamente all'ultima parte dove ho descritto soltanto il procedimento da seguire. Se invece volete rompervi le palle, continuate a leggere :D
Domande e risposte (Parte scoglionante. Saltatela senza rimorsi): :D
------------------------------------------------------------------
Il menu contestuale è chiaramente una delle features più utilizzate di Windows XP. Lì, si possono "intrufolare" le varie voci dei programmi che installiamo, oltre a quale che con un po' di modiche al registro, abbiamo inserito noi.
Ma come funziona effettivamente questo menu contestuale?
Vediamo un po' il tutto dal punto di vista del programmatore.
Quando noi utenti facciamo click destro su un oggetto della shell (con oggetto qui intendiamo una qualsiasi cosa che può far parte della shell), questa fa apparire il menu contestuale. Qui sorge però spontanea una domanda: se io clicco su dei fle diversi mi si aprono menu contestuali con voci differenti, sempre a seconda del tipo del file su cui ho cliccato. Come fa la shell a sapere che voci deve far apparire ogni volta?
La risposta è che la shell controlla innanzi tutto se noi abbiamo cliccato effettivamente su un file e se è così carica le voci di default (tipo Copia,Incolla,Sposta ecc)
Altra domanda: e se il file l'ho installato io, come fa la shell a sapere che WinRar per esempio è un programma e che deve avere la sua di voce nel menu contestuale?
Qui entrano in gioco il registro e i benedetti (o maledetti :D ) context menu handlers.
Context menu handlers (se li conosci, li eviti)
-------------------------------------------
I context menu handlers non sono altro che delle estensioni della shell, che possono aggiungere dei comandi al menu contestuale quando e' necessario, e vengono chiamati ogni volta che noi chiamiamo un menu contestuale facente parte della "famiglia" dei files.
In poche parole, se noi aggiungiamo delle voci al menu contestuale tramite il registro, queste voci saranno le stesse per ogni membro della "famiglia". Quindi appena viene installato WinRar, registra un menu handler per la sua estensione e questo handler apparira' in ogni file che fa parte della stessa famiglia.
Il discorso purtroppo è un po’ tecnico, ma spero di essere stato chiaro.
Problemi: perchè si causano e come risolverli…
--------------------------------------------
Qui siamo arrivati nel vivo di questa piccola giuda. Allora abbiamo installato la nostra nuova, edizione di WinRar che promette di risolvere un miliardo di bug vecchi e aggiungerne solo qualche milione in più di nuovi, riavviamo, facciamo click destro e per nostra sorpresa, tutto sembra bloccarsi. Il menu non esce e anche dopo un riavvio veloce non sembra funzionare lo stesso. Che e' successo?
In poche parole è successo che il context menu handler che il programma ha aggiunto nel menu contestuale è buggato e blocca il nostro menu. Come si fa quindi a risolvere?
Quello che prima di tutto ci serve è un programmino che ci aiuti a vedere tutti gli handlers e levare proprio quelli che pensiamo causano problemi. Questo programmino c è, è freeware e lo trovate qui (http://www.nirsoft.net/utils/shexview.html) :
col nome ShellExView.
Dopo averlo scaricato, potete o lanciarlo direttamente o scompattarlo in qualche cartella (non necessita di installazione).
Lanciandolo, fa una scansione del nostro registro e ci presenta una finestra con tante voci, dove alcune di queste sono illuminate in rosa.
In questo suo modo, il programma ci indica che quelle voci si riferiscono a estensioni non Microsoft (quindi estranee al sistema operativo in se).
Il programma pero' non indica solo i menu handlers, ma anche una miriade di altri tipi che a noi adesso non interessano.
Per questo motivo, bisogna pigiare una volta su Type, (così il programma organizza i dati mettendo insieme tutti i tipi che sono uguali), e poi cercare il tipo Context Menu.
Una volta trovate le voci, bisogna proseguire, disabilitando una alla volta (click destro, ”disable selected items” o semplicemente pigiando F7), le voci in rosa e poi senza chiudere il programma provare a vedere se il menu contestuale (o il common task) ha ripreso a funzionare.Se cosi non fosse, riabilitate la voce e continuate alla prossima sempre in rosa.
Appena trovata la voce che sblocca il menu avete 2 possibilità: o lasciarla disabilitata, o entrare proprio nel programma che ha inserito la voce e cercare nei suoi menu se c'e' l'opzione che toglie definitivamente tale voce dal registro.
Programmi noti a causare problemi
---------------------------------
Aggiungo oggi questa parte perche' sembra che alcuni programmi siano piu' soliti a causare problemi al menu contestuale che altri. Ecco una piccola lista che verra' piano - piano aggiornata.
Dr. Divx.
Alcohol
Object Edit
Daemon Tools
Tauscan
ACDSee 7.0
AVG 6.0
Per i frettolosi (ossia “Non me ne frega niente delle tue menate. Io voglio sapere come risolvere il mio problema subito”)
----------------------------------------------------------------------
Questa parte descrive soltanto il procedimento da seguire, senza obbligarvi a leggere tutta la guida.
1) Andate qui (http://www.nirsoft.net/utils/shexview.html) e scaricate ShellExView
2) Scompattatelo in una cartella e lanciatelo
3) Appena finisce la scansione del registro, cliccate su Type e cercate per il tipo Context Menu
4) Adesso dovete disabilitare,UNA ALLA VOLTA, SOLO le voci in rosa e poi provare se il menu contestuale ha ripreso a funzionare.
5) Se cosi non fosse abilitate l'ultima voce che avete disabilitato e continuate alla prossima SEMPRE IN ROSA
Questa è la mia piccola guida che spero troviate utile.
Un saluto a tutti!
Ciao