Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - System.Environment.TickCount cosa restituisce?
Forum - C# / VB.NET - System.Environment.TickCount cosa restituisce?

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 15:08
Martedì, 11/02/2020
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

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:40
Martedì, 11/02/2020
Scrivi così

Codice sorgente - presumibilmente VB.NET

  1. Public Function LipPCIsOn() As String
  2.    Return  TimeSpan.FromMilliseconds(System.Environment.TickCount).ToString()
  3. 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à.
PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 9:03
Mercoledì, 12/02/2020
Testo quotato

Postato originariamente da nessuno:

Scrivi così

Codice sorgente - presumibilmente VB.NET

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




Grazie ma non cambia molto:-|:-?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:52
Mercoledì, 12/02/2020
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à.
PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 10:44
Mercoledì, 12/02/2020
Testo quotato

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




alip1 ha allegato un file: screenshot.jpg (24713 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:09
Mercoledì, 12/02/2020
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)

Codice sorgente - presumibilmente VB.NET

  1. Dim query As New SelectQuery("SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'")
  2.         Dim searcher = New ManagementObjectSearcher(query)
  3.  
  4.         Dim ret As String = ""
  5.         Dim mo As ManagementObject
  6.         For Each mo In searcher.Get()
  7.             Dim dtBootTime As DateTime = ManagementDateTimeConverter.ToDateTime(mo.Properties("LastBootUpTime").Value.ToString())
  8.             ret = (Now - dtBootTime).ToString()
  9.         Next
  10.  
  11.         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à.
PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 20:32
Mercoledì, 12/02/2020
Testo quotato

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)

Codice sorgente - presumibilmente VB.NET

  1. Dim query As New SelectQuery("SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'")
  2.         Dim searcher = New ManagementObjectSearcher(query)
  3.  
  4.         Dim ret As String = ""
  5.         Dim mo As ManagementObject
  6.         For Each mo In searcher.Get()
  7.             Dim dtBootTime As DateTime = ManagementDateTimeConverter.ToDateTime(mo.Properties("LastBootUpTime").Value.ToString())
  8.             ret = (Now - dtBootTime).ToString()
  9.         Next
  10.  
  11.         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

PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 12:08
Giovedì, 13/02/2020
Testo quotato

Postato originariamente da alip1:

Testo quotato

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)

Codice sorgente - presumibilmente VB.NET

  1. Dim query As New SelectQuery("SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'")
  2.         Dim searcher = New ManagementObjectSearcher(query)
  3.  
  4.         Dim ret As String = ""
  5.         Dim mo As ManagementObject
  6.         For Each mo In searcher.Get()
  7.             Dim dtBootTime As DateTime = ManagementDateTimeConverter.ToDateTime(mo.Properties("LastBootUpTime").Value.ToString())
  8.             ret = (Now - dtBootTime).ToString()
  9.         Next
  10.  
  11.         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

PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 19:22
Giovedì, 13/02/2020
Testo quotato

Postato originariamente da alip1:

Testo quotato

Postato originariamente da alip1:

Testo quotato

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)

Codice sorgente - presumibilmente VB.NET

  1. Dim query As New SelectQuery("SELECT LastBootUpTime FROM Win32_OperatingSystem WHERE Primary='true'")
  2.         Dim searcher = New ManagementObjectSearcher(query)
  3.  
  4.         Dim ret As String = ""
  5.         Dim mo As ManagementObject
  6.         For Each mo In searcher.Get()
  7.             Dim dtBootTime As DateTime = ManagementDateTimeConverter.ToDateTime(mo.Properties("LastBootUpTime").Value.ToString())
  8.             ret = (Now - dtBootTime).ToString()
  9.         Next
  10.  
  11.         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



Scusatemi volevo solo comunicare che ho risolto: Mi mancava di aver aggiunto in References del progetto System.Management:pat::pat:

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo