alip1 (Normal User)
Pro
Messaggi: 139
Iscritto: 12/08/2019
|
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?
Grazie a tutti
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Scrivi così
Codice sorgente - presumibilmente VB.NET |
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à. |
|
alip1 (Normal User)
Pro
Messaggi: 139
Iscritto: 12/08/2019
|
Postato originariamente da nessuno:
Scrivi così
Codice sorgente - presumibilmente VB.NET |
Public Function LipPCIsOn() As String Return TimeSpan.FromMilliseconds(System.Environment.TickCount).ToString() End Function
|
|
Grazie ma non cambia molto |
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
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à. |
|
alip1 (Normal User)
Pro
Messaggi: 139
Iscritto: 12/08/2019
|
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
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
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 |
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à. |
|
alip1 (Normal User)
Pro
Messaggi: 139
Iscritto: 12/08/2019
|
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 |
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 |
|
alip1 (Normal User)
Pro
Messaggi: 139
Iscritto: 12/08/2019
|
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)
Codice sorgente - presumibilmente VB.NET |
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 |
|
alip1 (Normal User)
Pro
Messaggi: 139
Iscritto: 12/08/2019
|
Postato originariamente da 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)
Codice sorgente - presumibilmente VB.NET |
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 |
Scusatemi volevo solo comunicare che ho risolto: Mi mancava di aver aggiunto in References del progetto System.Management |
|