Lancio .REG da vb.net e chiusura processo da codice

martedì 12 febbraio 2008 - 11.53

Maurizio_Roma Profilo | Newbie

Salve, eccomi qui di nuovo ad implorare il vostro aiuto.
Ho due problemi, il primo come faccio a lanciare un file .REG da codice vb.net in modo da poter modificare la chiave shell di winlogon, in modo da poter riabilitare la partenza dell'explorer, e il secondo è come faccio a chiudere un processo presente nel task manager sempre da codice.

Grazie per il vostro aiuto.

aiedail92 Profilo | Expert

Ciao

per importare un file reg puoi usare la seguente istruzione:

Shell(String.Format("regedit /s {0}", "tuofile.reg"))

Dove /s indica che non va richiesta la conferma prima di importare le chiavi, e tuofile deve contenere l'intero percorso del file.

Per terminare un processo invece puoi fare così:

Dim processes() As System.Diagnostics.Process = _ System.Diagnostics.Process.GetProcessesByName("Nome processo") If (processes.Length > 1) Then 'inserisci un'istruzione per determinare 'quale è il processo da terminare fra tutti 'oppure con un ciclo for li chiudi tutti ElseIf (processes.Length = 1) Then 'termini il processo 'Con CloseMainWindow invii un messaggio di chiusura 'Al processo, che può decidere se rifiutare o meno processes(0).CloseMainWindow() 'Con Kill invece termini il processo 'istantaneamente, ma ad esempio non vengono 'salvati i dati alla chiusura processes(0).Kill() Else 'If processes.Length = 0 Then 'Non fare niente 'O invii un messaggio che dice 'Che il processo non è in esecuzione Return End If 'Per verificare se il processo è 'stato effettivamente terminato 'usi processes(i).HasExited 'Invece per aspettare finchè 'Il processo non viene terminato 'usi processes(i).WaitForExit()

Luca

xxtr93 Profilo | Junior Member

Ciao...

Ho anche io lo stesso problema e per nn aprire un'altra discussione, ne apro una di nn so quanto tempo fa.

Ho provato ad aprire un file .reg come hai detto tu ma nn mi è sucesso niente:

Shell(String.Format("regedit /s {0}", "C:\Program Files\...\BootOptimizerFunction.reg"))

Mi pare che la sintassi sia giusta però non mi succede niente neppure se lo eseguo tramite prompt dei comandi.


Ti prego è molto importante...aiutami

Grazie per il momento!

aiedail92 Profilo | Expert

Ciao

Se il percorso del file contiene degli spazi, devi racchiuderlo fra virgolette:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Luca

xxtr93 Profilo | Junior Member

Grazie! Sempre tu il migliore!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5