Seu aplicativo ou outro aplicativo? Acredito que o WMI pode rastrear algo assim, mas se for seu próprio aplicativo, é muito mais simples obter a data de inicialização.
Ry-
Respostas:
165
A System.Diagnostics.Processclasse tem uma propriedade que contém a hora de início que você pode usar para calcular por quanto tempo está em execução:
var current =System.Diagnostics.Process.GetCurrentProcess();DateTime startedAt = current.StartTime
Esteja ciente de que current.StartTimeé a hora local do servidor, não UTC.
George
33
Use StopWatchclasse para este recurso.
Mesmo que seja um exagero, sempre funcionará, mesmo se o usuário mudar o relógio ou mesmo se houver alguma mudança de horário de verão durante o processo. - Julien Lebosquain (Comentário à minha resposta.)
Mesmo que seja um exagero, essa é a única resposta que sempre funcionará, mesmo que o usuário mude o relógio, mesmo que haja alguma mudança de horário de verão durante a execução do processo, então +1.
Julien Lebosquain
1
@JulienLebosquain: Obrigado. Acrescentarei esse ponto em minha resposta com os devidos créditos.
Nikhil Agrawal
6
Você pode ter um Static DateTime Variablepara seu projeto e armazenar a data e hora no construtor de sua classe principal. Referenciar esta variável estática e comparar com o tempo atual ajuda você a alcançar seu resultado
Respostas:
A
System.Diagnostics.Process
classe tem uma propriedade que contém a hora de início que você pode usar para calcular por quanto tempo está em execução:fonte
current.StartTime
é a hora local do servidor, não UTC.Use
StopWatch
classe para este recurso.Mesmo que seja um exagero, sempre funcionará, mesmo se o usuário mudar o relógio ou mesmo se houver alguma mudança de horário de verão durante o processo. - Julien Lebosquain (Comentário à minha resposta.)
fonte
Você pode ter um
Static DateTime Variable
para seu projeto e armazenar a data e hora no construtor de sua classe principal. Referenciar esta variável estática e comparar com o tempo atual ajuda você a alcançar seu resultadofonte