Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-01-2019
davidelkata davidelkata is offline
Miembro
 
Registrado: jun 2003
Posts: 15
Poder: 0
davidelkata Va por buen camino
¿Tiempo de suspensión de Windows?

Buenos días,

¿Tengo alguna manera de controlar el tiempo que ha estado suspendido un ordenador?

Muchas gracias y un saludo

David Sañudo
__________________
Katalan
Responder Con Cita
  #2  
Antiguo 24-01-2019
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No se puede controlar el tiempo transcurrido, pero la función API CallNtPowerInformation te permitirá conocerlo.

Ejemplo:
Código Delphi [-]
...
implementation

function CallNtPowerInformation(InformationLevel: DWORD; InPutBuffer: Pointer;
  InputBufferSize: ULONG; OutPutBuffer: Pointer;
  OutPutBufferSize: ULONG): DWORD; stdcall; external 'PowrProf.dll';

const
  LastWakeTime  = 14;
  LastSleepTime = 15;
  STATUS_BUFFER_TOO_SMALL = $C0000023;
  STATUS_ACCESS_DENIED    = $C0000022;

procedure TForm1.Button1Click(Sender: TObject);
  procedure CheckError(const Error: DWORD);
  begin
    if Error = STATUS_BUFFER_TOO_SMALL then
      raise Exception.Create('Buffer muy chico para contener la entrada.');
    if Error = STATUS_ACCESS_DENIED then
      raise Exception.Create('Acceso denegado');
  end;

var
  Lst, Lwt  : Int64;   // unidad 100 nanosegundos.
  Err  : DWORD;
begin
  Err := CallNtPowerInformation(LastWakeTime, nil, 0, @Lwt, SizeOf(Lwt));
  CheckError(Err);

  Err := CallNtPowerInformation(LastSleepTime, nil, 0, @Lst, SizeOf(Lst));
  CheckError(Err);

  ShowMessageFmt('%d nanosegundos.',[Round(Lwt/100) - Round(Lst/100)]);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 25-01-2019
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Otra estupenda respuesta del compañero ecfisa. ¡Hasta en nanosegundos!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 25-01-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por dec Ver Mensaje
Otra estupenda respuesta del compañero ecfisa. ¡Hasta en nanosegundos!
Es un crack|un monstruo|un #1
Responder Con Cita
  #5  
Antiguo 06-02-2019
davidelkata davidelkata is offline
Miembro
 
Registrado: jun 2003
Posts: 15
Poder: 0
davidelkata Va por buen camino
Muchas gracias por la respuesta

Muchas gracias, lo pruebo para ver si me sirve

Un saludo a todos
__________________
Katalan
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación hecha con Delphi 10.2 no funciona en Windows 10, pero sí en otros windows lgarcia Varios 5 09-07-2018 11:13:21
TADOStoredProc Windows 7 64 bits tiempo espera agotado davidesarr Conexión con bases de datos 3 08-01-2012 03:20:09
Evitar que windows entre en modo ahorro de energia o suspension cocute API de Windows 4 11-04-2011 10:49:28
Compartir archivos entre Windows Vista sobre VirtualBox y Windows XP como host mlara Windows 2 27-03-2009 10:27:28
controles en tiempo de ejecución verlos como si estubieran en tiempo de diseño gulder Varios 7 21-04-2007 23:57:30


La franja horaria es GMT +2. Ahora son las 01:07:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi