Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda .net

Estas en el tema de Ayuda .net en el foro de .NET en Foros del Web. cordial saludo amigos para comenzar soy principiante en vb .net 2005, estoy realizando una aplicacion para un proyecto de grado. lo que quiero es implementar ...
  #1 (permalink)  
Antiguo 17/08/2009, 16:47
 
Fecha de Ingreso: agosto-2009
Mensajes: 24
Antigüedad: 14 años, 8 meses
Puntos: 0
Ayuda .net

cordial saludo amigos


para comenzar soy principiante en vb .net 2005, estoy realizando una aplicacion para un proyecto de grado. lo que quiero es implementar es que si la aplicacion se instalan en otro pc o en otro lugar realice lo sgte.
1) ponerle un tiempo de 10 o 20 dias o algo estimado para que la aplicacion trabaje normalmente en ese tiempo.
2) cuando cumpla dicho tiempo la aplicacion se bloque.

le pido la ayuda posible si existe algo un codigo o algo que me pueda ayudar.
  #2 (permalink)  
Antiguo 17/08/2009, 19:18
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Ayuda .net

Puedes usar por ejemplo la opcion de grabar el registro del pc en donde se ejecuta tu aplicacion, y cuando se inicie, comparas la fecha que grabaste en el registro, con la fecha del sistema, mientras la fecha este en el rango que especificas en dias, tu aplicacion puede funcionar, en caso contrario.. que te pague...
Para operar con el registry de la maquina, debes usar la libreria Microsoft.Win32. en donde encontraras varios metodos

OpenSubKey: para abrir una clave.
GetValue: Para obtener el valor de una entrada de la clave abierta
SetValue: Para crear una entrada nueva, o modificar el valor de una entrada.
DeleteValue: Para borrar una entrada.
CreateSubKey: Para crear una clave de registro.

para usar esto, debes tener claros los conceptos de instanciar un objeto

pd: para que te vaya mejor en los foros, debes ser mas especifico en cuanto a lo que necesitas. poner ""ayuda.net"" como titulo, no sirve de mucho
Salu2
PLCH
  #3 (permalink)  
Antiguo 19/08/2009, 15:39
 
Fecha de Ingreso: agosto-2009
Mensajes: 24
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda .net

bueno


estuve investigando en internet sobre la libreria Microsoft.Win32.OpenSubKey me parecio muy interesante.

encontre este ejemplo donde desactiva el administrador de tarea

Public Sub desactivarAdminTareas()
Dim regkey As Microsoft.Win32.RegistryKey
regkey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey( _ "software\microsoft\windows\currentversion\policie s\system", True)
regkey.SetValue("disabletaskmgr", 1)
regkey.Close()
End Sub

estuve analizando donde esta en rojo es como el llamado del administrador de tarea donde va el 1 es lo que lo deshabilita.

mi pregunta es como llamo el aplicativo o donde lo busco????
  #4 (permalink)  
Antiguo 20/08/2009, 12:33
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Ayuda .net

con el set, tu creas tu propia clave en tu programa..
por ejemplo

lo primero que hace tu aplicativo, es ver si existe una clave que puedas identificar, esto lo haces con GetValue
Despues si el valor existe, comparas el contenido de tu clave, con la fecha del sistema (por ejemplo) tb puedes usar el numero de serie del PC en donde se ejecuta la aplicacion, etc
si el valor NO existe, grabas la clave nueva (esto significa que se esta ejecutando por primera vez tu aplicacion)

despues, cada vez que se inicie la aplicacion, leeras la clave del registro, y comprobaras (por ejemplo) qu ela fecha es valoda o no, y dependiendo de eso, sigfues con la aplicacion, o la terminas
Salu2
Plch
  #5 (permalink)  
Antiguo 20/08/2009, 12:39
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Ayuda .net

Lo mas simple para lo que quieres seria generar un archivo de texto con la fecha de instalacion y comparar a la hora de inciar la aplicacion con la fecha actual
  #6 (permalink)  
Antiguo 20/08/2009, 13:16
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Ayuda .net

problemas de ambos enfoques es que si el usuario es alguien capaz de usar un monitor de que recursos esta usando cada aplicacion, 1 puede saber que archivo o clave de registro usa y modificarlo a su antojo.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 20/08/2009, 13:22
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Ayuda .net

Quiza planteaste mal tu consulta. Lo que deseas aparentemente es un metodo de seguridad ademas del simple contador de dias que propones en tu tema inicial
  #8 (permalink)  
Antiguo 20/08/2009, 16:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 24
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda .net

Bueno querido amigos gracias por la ayuda que me han dado, pero como le plantie desde un principio, soy nuevo programando en vb .net, ojala me pudieran ayudar con el codigo para hacerlo.
  #9 (permalink)  
Antiguo 21/08/2009, 09:42
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Ayuda .net

Esto te dara una idea. Estoy usando un archivo para controlar la fecha de instalacion
Cita:
Public Class Form1
Public iFecha As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'ingresa una fecha en un archivo de texto y guardalo en C:\ con el nombre miArchivo.dat
Dim meses, dias As Double
meses = DateDiff("m", Verifica_archivo(), Now)
dias = DateDiff("d", Verifica_archivo(), Now)
If dias + (meses * 30) < 30 Then

MsgBox("Ok Puedes usar mi sistema")
Else
End
End If
End Sub
Private Function Verifica_archivo() As String
Dim miArchivo As String = "miArchivo.dat"
Dim ruta As String = _
My.Computer.FileSystem.Drives.Item(1).RootDirector y.Name
If My.Computer.FileSystem.FileExists(ruta & miArchivo) Then
' Abrir el archivo de texto usando
' OpenTextFieldParser.

Dim MyReader As Microsoft.VisualBasic.FileIO.TextFieldParser
MyReader = My.Computer.FileSystem.OpenTextFieldParser( _
ruta & miArchivo)

' Se obtiene cada renglon
' de el archivo de texto y se coloca en una variable.
' Luego se cierra el TextFieldParser.
Try
iFecha = MyReader.ReadLine()
Catch ex As Exception
MessageBox.Show("ERR: " & ex.Message, "Error Leyendo")
Finally
MyReader.Close()
End Try
Else
MsgBox("No existe el archivo de configuracion. Asegurese de tenerlo" _
& " en la ubicacion correcta.", MsgBoxStyle.OkOnly, _
"Advertencia")
End If
Return iFecha
End Function

End Class
Este codigo esta probado en VB 2008 Express. Puede que hayan variaciones en la version 2005
  #10 (permalink)  
Antiguo 21/08/2009, 15:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 24
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda .net

Bueno amigo nonpublic


gracias por la ayuda que me has dado, me ha dado la logica lo duda que tengo es que yo cree el archivo con este formato de fecha dd/mm/yyyy no te que cuando esta durante el mes con fecha inferior a la que genera uno en el archivo deja utilizarlo pero le reste un mes y no dejaba entrar al sistema. lo que quiero hacer es ver como se puede ocultar ese archivo .dat
  #11 (permalink)  
Antiguo 21/08/2009, 18:01
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Ayuda .net

Investiga sobre isolated storage es una buena opcion para solventar esto
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:00.