Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Se vuoi usare un utente differente non puoi più servirti di Shell, ma devi passare al più corretto e più funzionale Process. In particolare devi impostare la proprietà StartInfo, in questo modo:
Codice sorgente - presumibilmente VB.NET |
Dim User As String = "Administrator" Dim Password As SecureString Dim Domain As String = Nothing Dim FileName As String = "notepad.exe" System.Diagnostics.Process.Start( _ FileName, User, Password, Domain)
|
Attenzione che Password è un ogetto SecurePassword e in quanto tale non espone costruttori con parametri, né metodi che convertano una stringa in un ogetto SecureString (in modo da non lasciare tracce in memoria). Infatti l'unica operazione che puoi fare con SecureString è aggiungere un carattere alla volta con AppendChar. Puoi usare questa funzione:
Codice sorgente - presumibilmente VB.NET |
Function ToSecureString(ByVal S As String) As SecureString Dim Result As New SecureString For Each C As Char In S Result.AppendChar(C) Next Return Result End Function
|
|