OMGVB (Normal User)
Rookie
Messaggi: 29
Iscritto: 09/01/2008
|
Postato originariamente da Il Totem:
Ma che cosa c'è di sbagliato con voi?? Ho detto centinaia di volte di spiegare in dettaglio cosa avviene e tutto quello che sai dire è che con il mio codice dà errore?? Che errore?? Perchè? L'hai modificato? Se sì cosa hai aggiunto? Hai i permessi di modifica del registro? Hai scritto la chiave bene?
Non mi sembra di chiedere molto, no? |
non è che da errore, è che non riesco a capire bene come funziona.
Codice sorgente - presumibilmente C# / VB.NET |
dim registro as new registrykey
registro = Registry.CurrentUser.OpenSubKey("HKEY_LOCAL_MACHINE" & _
"\Software\Microsoft\Windows\CurrentVersion\Run", True)
registro.SetValue("MioProgramma","PercorsoFile")
|
e mi da errore su SetValue.
spero possiate aiutarmi Ultima modifica effettuata da Il Totem il 25/02/2008 alle 16:36 |
|
Progman-92 (Member)
Expert
Messaggi: 368
Iscritto: 16/12/2007
|
Penso che il problema sia dovuto ai privilegi di scrittura nel registro di sistema!!!. Prima di tutto devi avviare l'applicazione come Amministratore xcui se utilizzi vista devi portarti nella cartella Utente\Documenti\VisualStudio\
Projects\NomeProgetto\bin\Debug\NomeApplicazione.exe andare su Proprietà --> Compatibilità --> Esegui come amministratore e mettere la spunta --> Applica --> OK. Inoltre se avvii l'applicazione da un utente limitato, non potrai mai modificare,creare o eliminare valori e chiavi di registro dalla SubKey "HKEY_LOCAL_MACHINE", ma puoi solo modficare la SubKey "HKEY_CURRENT_USER" che alla fine è più o meno la stessa cosa. Mettendo l'avvio automatico in questa SubKey l'applicazione si avvierà solo nell'utente corrente e non in tutti gli utenti del pc!!!!!!!!!.
Ultima modifica effettuata da Il Totem il 25/02/2008 alle 16:37 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Postato originariamente da OMGVB:
non è che da errore, è che non riesco a capire bene come funziona.
e mi da errore su SetValue.
spero possiate aiutarmi |
Allora non era un errore mio se non l'hai capito. Che tipo di errore dà con SetValue?
Sarà difficile che da HKEY_CURRENT_USER tu possa aprire la chiave HKEY_LOCAL_MACHINE. Forse volevi scrivere:
Codice sorgente - presumibilmente Plain Text |
Registry.CurrentUser.OpenSubKey( _
"Software\Microsoft\Windows\CurrentVersion\Run", True)
|
E ricordati di quello che ha detto Progman-92. Ultima modifica effettuata da Il Totem il 25/02/2008 alle 16:37 |
|
OMGVB (Normal User)
Rookie
Messaggi: 29
Iscritto: 09/01/2008
|
vabe, mi ci sn messo un pò sopra e sn riuscito a soddisfare quello che mi serviva mettendo:
Codice sorgente - presumibilmente C# / VB.NET |
Dim registro As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
registro.SetValue("cmd", "C:\WINDOWS\system32\cmd.exe")
|
(naturalmente cmd.exe era solo come test per vedere se fungeva, in realtà nn mi serve quel file)
|
|
Progman-92 (Member)
Expert
Messaggi: 368
Iscritto: 16/12/2007
|
Avevo ragione, quello che ti ho detto io!!!. Il tuo problema quindi erano proprio i privilegi di amministratore da quello che si puo vedere. Ma scusa tu non programmi da un account amministratore???
Ultima modifica effettuata da Progman-92 il 25/02/2008 alle 23:43 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
|
|
Progman-92 (Member)
Expert
Messaggi: 368
Iscritto: 16/12/2007
|
Postato originariamente da Il Totem:
Da quello che ho visto mi sembra fosse solo un probema di apertura della chiave. Ha tentao di aprire Local Machine partendo da Current User, il che non è possibile, quindi registro veniva Nothing e quando ne richiamava SetValue dava errore di Null Reference (almeno secondo la mia ipotesi). |
Si hai ragione non avevo visto l'errore che aveva fatto!!! Ha messo alla variabile Current.User e nel metodo voleva aprire HKEY_LOCAL_MACHINE!!!!
Avevo capito che da Normale Utente voleva modificare chiavi della SubKey HKEY_LOCAL_MACHINE.
Codice sorgente - presumibilmente C# / VB.NET |
Dim registro As New registrykey
registro = Registry.CurrentUser.OpenSubKey("HKEY_LOCAL_MACHINE" & _
"\Software\Microsoft\Windows\CurrentVersion\Run", True)
registro.SetValue("MioProgramma","PercorsoFile")
|
Ultima modifica effettuata da Progman-92 il 26/02/2008 alle 16:18 |
|