Domingo 15 de Diciembre de 2024, 09:39
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
detectando entrada y salida al sistema
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: detectando entrada y salida al sistema (Leído 1582 veces)
GsOiD
Miembro activo
Mensajes: 83
Nacionalidad:
detectando entrada y salida al sistema
«
en:
Miércoles 24 de Septiembre de 2008, 01:31 »
0
Hola que tal, básicamente lo que intento hacer es detectar (y llevar registro) con un programa en c++, las veces que entro en el sistema de windows y cuando me salgo, en la salida considero el hecho de que aveces se apaga por que se va la luz ... no se muy bien por donde empezar... bueno al menos se que debe ser un programa residente en memoria xD... ando leyendo algunas cosas sobre ese tipo de programas, pero cualquier aportación me sería muy útil...
Gracias !
Tweet
m0skit0
Miembro de PLATA
Mensajes: 2337
Nacionalidad:
Re: detectando entrada y salida al sistema
«
Respuesta #1 en:
Miércoles 24 de Septiembre de 2008, 10:07 »
0
Parece muy sencillo... El programa simplemente debe escribir en un fichero (o en el registro) al arrancar Windows. Para que el programa se ejecute solo en el arranque, debes añadirlo o bien al menú Inicio/Programas/Inicio o bien a la clave de registro de arranque (ahora mismo no me acuerdo cuál era, pero una búsqueda en Google y tienes los resultados). En cuanto a ejecutarlo al apagarse, debes tener en cuenta que no es tan sencillo, puesto que si se va la luz desde luego no hay manera de salvar nada. Tendrías que capturar la señal de apague o reinicio de Windows y actuar en consecuencia. Google seguro que tiene algunas respuestas. No temas mirar código de virus y demás bichos puesto que son los más avanzados en estos temas. Un saludo!
Fr33k K0mpu73r
GsOiD
Miembro activo
Mensajes: 83
Nacionalidad:
Re: detectando entrada y salida al sistema
«
Respuesta #2 en:
Miércoles 24 de Septiembre de 2008, 13:04 »
0
Hi !, encontré cosillas de virus, pero la mayoría hechos en ensamblador, y en como poner el programa residente en memoria de eso ya no hay duda.. creo que comenzaré detectando (para la salida) que se apague sólo cuando el usuario teclee apagar o reiniciar... pero cualquier aportación es bienvenida
...
m0skit0
Miembro de PLATA
Mensajes: 2337
Nacionalidad:
Re: detectando entrada y salida al sistema
«
Respuesta #3 en:
Miércoles 24 de Septiembre de 2008, 14:32 »
0
Después de una búsqueda muy corta en Google, te puedo decir que cuando tu aplicación reciba el mensaje WM_EndSession, es que Windows se está cerrando. Lo otro debería ser coser y cantar. ¡Saludos, colega!
Fr33k K0mpu73r
GsOiD
Miembro activo
Mensajes: 83
Nacionalidad:
Re: detectando entrada y salida al sistema
«
Respuesta #4 en:
Miércoles 24 de Septiembre de 2008, 15:12 »
0
Encontré algo relacionado con lo que hago en eta página :
http://flash.programacion.net/foros/28/msg/220202/
es relacionado con lo que m0skit0 menciona...
thanks !! mi mente se aclara...
ya me emocioné con esta onda..
GsOiD
Miembro activo
Mensajes: 83
Nacionalidad:
Re: detectando entrada y salida al sistema
«
Respuesta #5 en:
Viernes 3 de Octubre de 2008, 06:13 »
0
Finalmente lo hice en visual basic u_U... Hace tiempo que quería subir este código, pero mucho trabajo, mucho
, y con la emoción de haber conocido a Rafael Nuñez alias RaFa, pues hasta se me olvidó.. pues aquí pongo el código de como terminé este trabajo:
Código: Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Shell("reg add hklmsoftwaremicrosoftwindowscurrentversionrun /v programa /t reg_sz /d C:nombre.exe /f ")
Dim fechahorainicio As DateTime = DateTime.Now
My.Computer.FileSystem.WriteAllText("C:a.txt", vbCrLf, True)
My.Computer.FileSystem.WriteAllText("C:a.txt", vbCrLf, True)
My.Computer.FileSystem.WriteAllText("C:a.txt", "Entro al sistema:", True)
My.Computer.FileSystem.WriteAllText("C:a.txt", fechahorainicio, True)
My.Computer.FileSystem.WriteAllText("C:a.txt", vbCrLf, True)
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Shell("notepad.exe C:a.txt")
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles MyBase.FormClosing
Dim fechahorafinal As DateTime = DateTime.Now
My.Computer.FileSystem.WriteAllText("C:a.txt","Finalizó:", True)
My.Computer.FileSystem.WriteAllText("C:a.txt", fechahorafinal, True)
Dim messageBoxVB As New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "CloseReason", e.CloseReason)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Cancel", e.Cancel)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(), "FormClosing Event")
End Sub
End Class
este programa se coloca en el registro de windows para iniciar el programa cuando inicia el sistema, después captura la fecha y hora en la que entró y lo guarda en un archivo txt, finalmente se mantiene alerta hasta que alguien cierra el programa, de la forma que sea, ya sea por que el sistema se apaga, o por que cerraron el form, o reinician el sistema, etc... como todo código se puede mejorar, pero por el momento, así me sirve
, le agregaré cosas después
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
detectando entrada y salida al sistema