02/02/09 20:37
ottobits
Che sistema operativo adoperi? dalle poche prove che ho eseguito con Vista, sembra che questo problema non si presenti (a parte l'uac che ogni volta prompta nonostante l'inserimento del manifest all'interno delle risorse). Con XP invece il problema si presenta, almeno sui miei sistemi.
Cmq, la soluzione del context menu è nata dal fatto che il programma che sto ultimando (?) era nato per essere utilizzato tramite command line oppure una semplice dll. Ora che invece l'ho dotato di una gui vera e propria, devo appoggiarmi al context menu. Questo per evitare di fare un ulteriore (e grossa) sezione di codice per implementare un file browser che non era assolutamente in cantiere. E il file browser fatto con il Treeview è abbastanza orrendo e zeppo di complicazioni che esulano dal contesto del mio programma, che è semplicemente un programma di crittazione che riceve come argomento un semplice nome di un file, sparato via context.
Ultima modifica effettuata da ottobits 02/02/09 20:43
aaa
02/02/09 20:48
ottobits
XP SP3 come il mio, eppure si presenta il prob. Cmq faro altre prove per vedere se riesco a capire dove risiede l'intoppo. Se dovesse riguardare l'estensione della shell, allora non saprei proprio come implementarla ulteriormente e dovrei realizzare un file browser, cosa che mi fa venire l'orticaria
Al limite lo pubblico cosi com'è, con la shell extension. Poi vedremo come si comporta sui sistemi di chi lo vorrà provare.
Ultima modifica effettuata da ottobits 02/02/09 20:51
aaa
03/02/09 14:40
theprogrammer
Scusa, ma che c'entra quell'articolo con il tuo problema?
AES fa apparire una finestra con un warning ma non c'entra nulla con il problema dell'esecuzione non voluta del file passato come parametro ...
Insomma ... non vedo nessuna relazione con il tuo problema ...
aaa
03/02/09 15:34
ottobits
E' un workaround per capire dove risiede il problema. Cmq, anche settando in modo permanente la variabile d'ambiente, l'avviso di protezione esce fuori lo stesso. Giusto per completezza, se si vuole disattivare completamente l'avviso, bisogna modificare l'opzione /noexecute=optin.
Insomma il problema non è risolto, per qualche strana ragione la variabile %1 viene passata dal sistema operativo a ShellExecute e quindi al DEP che si interpone con il messaggio di avviso protezione. Tuttociò non ha senso.
aaa