9

Sto eseguendo il debug dell'applicazione che dispone di funzionalità di trascinamento della selezione in Visual Studio 2010. Devo eseguire l'IDE in modalità privilegiata poiché alcuni del mio progetto richiesto.Impossibile trascinare e rilasciare l'esecuzione di applicazioni debug da Visual Studio 2010 a esecuzione privilegiata

Il mio problema:

posso trascinare-drop quando eseguire il file .exe normalmente (gestito da Windows Explorer (WE)), ma durante il debug in VS2010 che non posso fare il drag-drop tra la mia app e WE .

Ho provato ad aprire WE in modalità privilegiata ma non riesco ancora a eseguire il debug.

Hai lo stesso problema? Se lo fai, hai qualche soluzione per questo? Si prega di condividere.

risposta

4

Questo è in base alla progettazione, un aspetto di Controllo dell'account utente denominato UIPI (isolamento dell'interfaccia utente). Impedisce a un processo non elevato di dirottarne uno elevato tramite i messaggi di Windows o il trascinamento della selezione. Protegge dagli attacchi in frantumi. Esiste un modo per il processo elevato di consentire esplicitamente i messaggi con ChangeWindowMessageFilter. Ma non per il drag and drop, non è basato sul messaggio.

Non esiste una soluzione decente a livello di livello per questo, deve essere fatto in modo dichiarativo. Il manifest per il programma deve utilizzare uiaccess = true, essere firmato dal codice con un certificato da un'autorità approvata ed essere installato in c: \ windows o c: \ programmi.

+0

@Passant È così triste sentire che :(Disattivare UAC è una soluzione eccellente per me.Se si sa come attivare/disattivare l'UAC rapidamente, ad esempio utilizzando la riga di comando, mi piacerebbe usarlo. –

+0

@Passant Un'altra cosa su come spegnere UAC è che abbiamo bisogno di riavviare il sistema operativo :( –

+0

@Passant Ho postato una domanda al riguardo qui http://superuser.com/questions/227860/how-to-toggling-uac-on- off-quick-eg-using-command-line-in-windows-7. Unisciti a noi se sei interessato. –

6

Un'altra soluzione alternativa consiste nell'eseguire il binario di debug da Esplora risorse e collegarlo al processo da Visual Studio tramite il menu "Strumenti" o "Debug". Ho verificato che gli eventi di trascinamento sono ricevuti nel debugger quando si utilizza questo approccio.