Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
21/05/09 13:14
teo940
Ciao a tutti, mi sono appena iscritto e ho gia un quesito da porvi. Ho scritto un programma e poi mi è venuto in mente di farlo aprtire sempre all'avvio. Così ho scritto questo codice per creare una stringa nel registro di sistema:
<Assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum, ViewAndmodify:="HKEY_LOCAL_MACHINE")> 

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
        Const userRoot As String = "HKEY_LOCAL_MACHINE"
        Const subkey As String = "Software\Microsoft\Windows\CurrentVersion\Run"
        Const keyName As String = userRoot & "\" & subkey
        Registry.SetValue(keyName, "ciao", Application.StartupPath & "C:\ciao.exe")
        System.IO.File.Copy("ciao.exe", "c:\ciao.exe")
end sub

Ora, il problema si trova nell' autorizzazione perchè anche se ho cercato di dargliele windows non le concede. Come mai?
Ultima modifica effettuata da teo940 21/05/09 13:19
aaa
21/05/09 23:28
fabriziorocca
praticamente bisogna fare in modo che il programma che tu stai creando, venga avviato con il massimo dei diritti di amministrazione del computer.
Apri il tuo progetto su visual basic, poi clicca su Progetto>Proprietà di "nome del tuo programma">Applicazione e infine clicca sul bottone "Visualizza impostazioni di controllo dell'account utente".
Ti si aprirà una pagina che sembra xml (app.manifest), cerca questa stringa [CODE]<requestedExecutionLevel level="asInvoker" uiAccess="false" />[/CODE], cancellala e cambiala con [CODE]<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />[/CODE] . Fatto ciò salva il progetto, chiudi visual basic, riavvialo , riapri il progetto (ti dirà che devi riavviare visual basic con le credenziali di amministratore, tu segui) , riapri il tuo progetto, avviane il debug e così hai finito.
Ora ogni volta che aprirai il tuo programma (nella cartella obg/debug/nome del tuo programma.exe) ti chiederà di avviarlo come amministratore, e questo funzionerà in ogni computer.
Ciao, e dimmi sei poi ha funzionato :)
aaa
23/05/09 15:46
teo940
sn arrivato nella scheda "applicazione" ma il pulsante che dici tu non c'è. Forse dipende dalla versione di visual studio. io ho la 2005
aaa
23/05/09 16:08
fabriziorocca
uhm ... quella che stò dicendo io invece è la 2008
aaa
23/05/09 23:17
teo940
quindi come posso fare?
aaa
24/05/09 7:20
GoLDBeRG
che sistema operativo hai
aaa
24/05/09 8:58
teo940
vista, ma preferirei che fuzionasse anche su xp
aaa
24/05/09 15:51
fabriziorocca
ma non fai prima ad installare visual basic 2008 ? tanto è gratis !
aaa