Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Tiempo encendido PC

Estas en el tema de Tiempo encendido PC en el foro de Visual Basic clásico en Foros del Web. Hola todos , espero que me puedan ayudar, alguien sabe como ver las horas en que el computador se encontro encedido, algo similar a lo ...
  #1 (permalink)  
Antiguo 02/04/2008, 12:02
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Tiempo encendido PC

Hola todos , espero que me puedan ayudar, alguien sabe como ver las horas en que el computador se encontro encedido, algo similar a lo que hace PC On/Off Time http://www.snapfiles.com/get/pconoff.html alguna idea de como hacerlo?.
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #2 (permalink)  
Antiguo 02/04/2008, 12:52
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Tiempo encendido PC

Hola,con el api GetTickCount podes saber el tiempo que esta encendida:

Código:
Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Form_Load()
MsgBox getTimePassed
End Sub

Public Function getTimePassed() As String
Dim lngHour As Long
Dim lngMinute As Long
Dim lngSeconds As Long
lngHour = Int(GetTickCount / 1000 / 60 / 60)
lngMinute = Int((GetTickCount / 1000 / 60)) - lngHour * 60
lngSeconds = Int((GetTickCount / 1000)) - lngMinute * 60 - lngHour * 3600
getTimePassed = Trim(Str(lngHour) & ":" & sGetWideTimeString(lngMinute) & ":" & sGetWideTimeString(lngSeconds)) & vbNullChar
End Function

Public Function sGetWideTimeString(ByVal btInputNumb As Byte) As String
Dim sTemp As String
sTemp = Trim(Str(btInputNumb))
If Len(sTemp) = 1 Then sTemp = "0" & sTemp
sGetWideTimeString = sTemp
End Function
saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 02/04/2008, 15:15
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Tiempo encendido PC

Muy bueno, pero lo que realmente quiero es saber el tiempo en que estubo encendida la ultima vez que se encendio, no el tiempo de encendido actual.

Si no me equivoco esta funcion hace lo mismo lo que en VB.NET seria
Environment.TickCount, esto no me es de mucha ayuda

Espero haberme dejado entender.
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #4 (permalink)  
Antiguo 03/04/2008, 09:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Re: Tiempo encendido PC

Cita:
Iniciado por boluart Ver Mensaje
Muy bueno, pero lo que realmente quiero es saber el tiempo en que estubo encendida la ultima vez que se encendio, no el tiempo de encendido actual.

Si no me equivoco esta funcion hace lo mismo lo que en VB.NET seria
Environment.TickCount, esto no me es de mucha ayuda

Espero haberme dejado entender.
No he investigado si hay algo en la API que te permita hacerlo, la única idea que se me ocurre es que tu programa se inicie con Windows y que al cerrar el programa (sería al apagar) te guarde en un archivo el tiempo que estuvo encendido...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 03/04/2008, 15:25
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Tiempo encendido PC

Gracias por tu respuesta, estube investigando acerca el programa que les mencione al inicio y al parecer trabaja con el visor de sucesos de windows
Panel de control\Herramientas administrativas\Visor de sucesos
pero he aqui otra pregunta como obtengo estos datos algun api?
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #6 (permalink)  
Antiguo 03/04/2008, 15:55
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Tiempo encendido PC

Bien ya lo logre para acceder a los sucesos de windows :

Dim a AsNew EventLog()
Dim objEventLog As EventLogEntryCollection
Dim objEntry As EventLogEntry
a.Log =
"Application"
objEventLog = a.Entries()
MsgBox(objEventLog.Count)
ForEach objEntry In objEventLog
TextBox1.Text += (objEntry.Source &
":" & objEntry.TimeGenerated & ":" & objEntry.Message) & Chr(13) & Chr(10)
Next

en cuanto al tiempo apagado algunos algoritmos de suma y resta del ultimo suceso y listo.

__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #7 (permalink)  
Antiguo 03/04/2008, 22:23
 
Fecha de Ingreso: enero-2008
Ubicación: Arauca
Mensajes: 32
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Tiempo encendido PC

hola boluart me parece interesante el tema que propones y me gustaria saber como se maneja el codigo,

Dim a As NewEventLog
Private Sub Command1_Click()

Dim objEventLog As EventLogEntryCollection
Dim objEntry As EventLogEntry
a.Log = "Application"
objEventLog = a.Entries()
MsgBox (objEventLog.Count)
For Each objEntry In objEventLog
TextBox1.Text = (objEntry.Source & ":" & objEntry.TimeGenerated & ":" & objEntry.Message) & Chr(13) & Chr(10)
Next

End Sub

cuando lo ejecuto me dice:no se ha definido el tipo definido por el usuario,
que me hace falta?

te agrdezco la ayuda.
  #8 (permalink)  
Antiguo 03/04/2008, 22:26
 
Fecha de Ingreso: enero-2008
Ubicación: Arauca
Mensajes: 32
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Tiempo encendido PC

ah y gracias seba123neo tu codigo es muy vacano, tambien lo estoy usando.

Última edición por writis; 03/04/2008 a las 22:27 Razón: aclaracion
  #9 (permalink)  
Antiguo 04/04/2008, 09:20
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Tiempo encendido PC

Cita:
Iniciado por writis Ver Mensaje
Private Sub Command1_Click()
End Sub
cuando lo ejecuto me dice:no se ha definido el tipo definido por el usuario,
te agrdezco la ayuda.
Se me olvido mencionar que estoy usando VB.NET y no la version VB6.0 o anteriores por el codigo expuesto me parece que estas usando la version 6.0 o inferiores.
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #10 (permalink)  
Antiguo 05/04/2008, 17:28
 
Fecha de Ingreso: enero-2008
Ubicación: Arauca
Mensajes: 32
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Tiempo encendido PC

Cita:
Iniciado por boluart Ver Mensaje
Se me olvido mencionar que estoy usando VB.NET y no la version VB6.0 o anteriores por el codigo expuesto me parece que estas usando la version 6.0 o inferiores.
tienes razón uso VB 6.0 de todas formas gracias.
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 04:28.