Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: adan-2994 en 11 Enero 2013, 21:21 pm



Título: Option Strict on no permtite el enlace en tiempo de ejecucion
Publicado por: adan-2994 en 11 Enero 2013, 21:21 pm
Ya se que para evitar esto debería indicar mas específicamente de que tipo de objeto se trata, osea, si se trata de un Textbox o un Button
pero en este caso no tengo idea que pueda hacer

El codigo que me da error es este (la parte de Regwrite)


Código
  1. Dim WSHShell As Object
  2.  
  3. WSHShell = CreateObject("Wscript.Shell")
  4.  
  5. WSHShell.RegWrite("BLA BLA BLA COSAS DE REGISTRO")


En otros problemas he resuelto esto con un Ctype o DirectCast para convertir el objet directamente a lo que quiero, pero aqui la verdad no se que tipo es  :-X

¿Existe solucion, o lo mejor seria Option Stric Off ?
              


Título: Re: Option Strict on no permtite el enlace en tiempo de ejecucion
Publicado por: Danyfirex en 11 Enero 2013, 21:37 pm
http://javascripts.astalaweb.com/Ayuda/html/wsmthregwrite.asp

saludos


Título: Re: Option Strict on no permtite el enlace en tiempo de ejecucion
Publicado por: Eleкtro en 11 Enero 2013, 21:57 pm
Si quieres un consejo, usa esto:

Código
  1.    '  RegCreateKey(Registry.CurrentUser, "Software\MyProgram")
  2.    '  RegDeleteKey(Registry.CurrentUser, "Software\MyProgram")
  3.    '  RegDeleteValue(Registry.CurrentUser, "Software\MyProgram", "Value name")
  4.    '  RegSetValue("HKEY_CURRENT_USER\Software\MyProgram", "Value name", "Data", RegistryValueKind.String)
  5.    '  Dim RegValue = RegGetValue("HKEY_CURRENT_USER\Software\MyProgram", "Value name"))
  6.  
  7. #Region "Registry Edit"
  8.  
  9.    Public Sub RegCreateKey(ByVal RegRoot As Microsoft.Win32.RegistryKey, ByVal RegKey As String)
  10.        RegRoot.CreateSubKey(RegKey)
  11.        RegRoot.Close()
  12.    End Sub
  13.  
  14.    Public Sub RegDeleteKey(ByVal RegRoot As Microsoft.Win32.RegistryKey, ByVal RegKey As String)
  15.        RegRoot.DeleteSubKey(RegKey)
  16.        RegRoot.Close()
  17.    End Sub
  18.  
  19.    Public Sub RegDeleteValue(ByVal RegRoot As Microsoft.Win32.RegistryKey, ByVal RegKey As String, ByVal RegValue As String)
  20.        Using key As Microsoft.Win32.RegistryKey = RegRoot.OpenSubKey(RegKey, True)
  21.            key.DeleteValue(RegValue)
  22.            key.Close()
  23.        End Using
  24.    End Sub
  25.  
  26.    Public Sub RegSetValue(ByVal RegKey As String, ByVal RegValue As String, ByVal RegData As String, ByVal RegDataType As RegistryValueKind)
  27.        My.Computer.Registry.SetValue(RegKey, RegValue, RegData, RegDataType)
  28.    End Sub
  29.  
  30.    Public Function RegGetValue(ByVal RegKey As String, ByVal RegValue As String)
  31.        Return My.Computer.Registry.GetValue(RegKey, RegValue, Nothing)
  32.    End Function
  33.  
  34. #End Region

Saludos


Título: Re: Option Strict on no permtite el enlace en tiempo de ejecucion
Publicado por: seba123neo en 11 Enero 2013, 22:14 pm
no uses el objeto Wscript.Shell, es obsoleto en .NET, usa las clases de .NET que ya vienen para acceder al registro.