Oppure

Loading
11/02/20 14:08
alip1
Vorrei sapere quanto tempo il PC è stato avviato. Ecco perché ho fatto la seguente routine:

Public Function LipPCIsOn() As String
Dim iTempoPC As Integer
Dim tTempoPC As TimeSpan
Dim strTempoPC As String
iTempoPC = System.Environment.TickCount
tTempoPC = TimeSpan.FromMilliseconds(iTimePC)
strTempoPC = tTempoPC.Duration.ToString("hh:mm:ss";)
Return strTempoPC
End Function

Ma non capisco, il PC pur essendo stato avviato da 3 minuti mi dice: 7:54:36 Dov'è l'errore? 8-|
Grazie a tutti
aaa
11/02/20 18:40
nessuno
Scrivi così

Public Function LipPCIsOn() As String
   Return  TimeSpan.FromMilliseconds(System.Environment.TickCount).ToString()
End Function
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/02/20 8:03
alip1
Postato originariamente da nessuno:

Scrivi così

Public Function LipPCIsOn() As String
   Return  TimeSpan.FromMilliseconds(System.Environment.TickCount).ToString()
End Function


Grazie ma non cambia molto:-|:-?
aaa
12/02/20 8:52
nessuno
A me funziona correttamente ... cosa succede con il codice che ti ho mostrato?

Facci vedere anche come lo usi
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/02/20 9:44
alip1
Postato originariamente da nessuno:

A me funziona correttamente ... cosa succede con il codice che ti ho mostrato?

Facci vedere anche come lo usi


Nella mia DLL ho cambiato la routine come suggerito in:

Public Function LipPCIsOn() As String
Return TimeSpan.FromMilliseconds(System.Environment.TickCount).ToString()
End Function

Nell'evento di Timer1 del form di avvio ho:

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
SBMain.Items("TSDurationPC";).Text = "Pc is turned on by: " & LipNetTimeRoutine.LipPCIsOn

Come mostrato in questo screenshot, mi da 13.03:36:18.2960000
sebbene abbia avviato il PC da meno di 2 ore!!
Grazie

P.S.: sto utilizzando VS2012 con windows10


aaa
12/02/20 19:09
nessuno
Stai eseguendo il programma localmente o su un sistema remoto? Su un sistema fisico o virtuale?

A me continua a non dare altri problemi. Prova anche questo codice (più affidabile del TickCount che ha un limite di giorni)

        Dim query As New SelectQuery("SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'")
        Dim searcher = New ManagementObjectSearcher(query)

        Dim ret As String = ""
        Dim mo As ManagementObject
        For Each mo In searcher.Get()
            Dim dtBootTime As DateTime = ManagementDateTimeConverter.ToDateTime(mo.Properties("LastBootUpTime").Value.ToString())
            ret = (Now - dtBootTime).ToString()
        Next

        Return ret
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/02/20 19:32
alip1
Postato originariamente da nessuno:

Stai eseguendo il programma localmente o su un sistema remoto? Su un sistema fisico o virtuale?

A me continua a non dare altri problemi. Prova anche questo codice (più affidabile del TickCount che ha un limite di giorni)

        Dim query As New SelectQuery("SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'")
        Dim searcher = New ManagementObjectSearcher(query)

        Dim ret As String = ""
        Dim mo As ManagementObject
        For Each mo In searcher.Get()
            Dim dtBootTime As DateTime = ManagementDateTimeConverter.ToDateTime(mo.Properties("LastBootUpTime").Value.ToString())
            ret = (Now - dtBootTime).ToString()
        Next

        Return ret


Grazie lo proverò di certo e farò sapere.
Intanto confermo che sto lavorando sul mio pc in locale é sconnesso da qualsiasi rete tranne internet ovviamente!!
Buona serata
aaa
13/02/20 11:08
alip1
Postato originariamente da alip1:

Postato originariamente da nessuno:

Stai eseguendo il programma localmente o su un sistema remoto? Su un sistema fisico o virtuale?

A me continua a non dare altri problemi. Prova anche questo codice (più affidabile del TickCount che ha un limite di giorni)

        Dim query As New SelectQuery("SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'")
        Dim searcher = New ManagementObjectSearcher(query)

        Dim ret As String = ""
        Dim mo As ManagementObject
        For Each mo In searcher.Get()
            Dim dtBootTime As DateTime = ManagementDateTimeConverter.ToDateTime(mo.Properties("LastBootUpTime").Value.ToString())
            ret = (Now - dtBootTime).ToString()
        Next

        Return ret


Grazie lo proverò di certo e farò sapere.
Intanto confermo che sto lavorando sul mio pc in locale é sconnesso da qualsiasi rete tranne internet ovviamente!!
Buona serata


ho i seguenti errori:
'SelectQuery ' is not defined
'ManagementObjectSearcher' is not defined
'ManagementObject' is not defined

ho questi Imports impostati:
Imports System
Imports System.Security
Imports System.IO
Imports System.IO.File
Imports System.IO.FileStream
Imports System.Windows.Forms

Occorre forse altro?
Grazie
aaa