FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Hibernar o no hibernar, he ahí el dilema
Hola, ¿cómo se puede averiguar si en Windows está activada la hibernación? Hasta ahora lo averiguo comprobando si existe el fichero "hiberfil.sys", por ejemplo:
Pero no me parece la manera más adecuada. Digo yo que debería haber alguna función específica para ello... |
#2
|
|||
|
|||
Hola...
Revisa la función de la API: GetPwrCapabilities http://msdn2.microsoft.com/en-us/lib...91(VS.85).aspx Saludos... |
#3
|
|||
|
|||
El problema es que yo utilizo una versión de Delphi muuuy antigua, la 3 (del siglo pasado, vamos) y esa función no la reconoce A lo mejor hay que añadir algún módulo...
|
#4
|
||||
|
||||
Cita:
Salu2. P.D.: Yo tengo D3 standar, ¿y tú? |
#5
|
|||
|
|||
La mía la adquirí por 995 pesetas hace unos once años, era la primera de una serie de fascículos sobre programación. Apuesto a que es tu mismo caso.
Para lo que hago es más que suficiente Y desde luego no me quejo, ni mucho menos. De hecho aún me viene grande |
#7
|
||||
|
||||
Hola,
Yo utilizo en cierto proyecto una función similar a esta:
Esta otra función serviría para averiguar si el sistema puede suspenderse:
|
#8
|
||||
|
||||
han usado mi truco y le han aumentado "cosas"...
PD: tenemos que usar más la sección de trucos. Saludos |
#9
|
|||
|
|||
Muchas gracias. Trataré de estudiar todas estas funciones, a ver si consigo entenderlas, porque yo no me conformo con copiar y pegar
|
#10
|
|||
|
|||
Estas funciones, en realidad, no siempre detectan si se puede hibernar o no. Cuando tengo el MODEM encendido, por ejemplo, no se dan por enteradas de que no se puede hibernar el ordenador.
|
#11
|
||||
|
||||
Otra cosa es que cuando se inicia el proceso de hibernado en modo NO crítico, el sistema envia a todas las colas de mensajes el mensaje WM_POWERBROADCAST, con la estructura PBT_APMQUERYSUSPEND, el cual puede retornar el valor BROADCAST_QUERY_DENY para suspender el intento de hibernación. Esto no significa que las anteriores APIs no sean las adecuadas.
Saludos |
#12
|
|||
|
|||
Sin embargo entiendo que esos mensajes se producen a posteriori, cuando es un poco "demasiado tarde". En la práctica no sirve de mucho saber que no se pudo hibernar, sería más útil saber si se podrá hibernar.
Debería existir una función que lo detectara a priori en todos los casos. Última edición por Wellnic fecha: 17-05-2008 a las 01:42:13. |
#13
|
||||
|
||||
Al cancelarse la hibernación, la API SetSystemPowerState debería retornar false ó en su defecto algún GetLastError. Me podrías comentar el resultado de mi ejemplo con tu modem activo y el valor de GetLastError luego de la llamada a dicha API en caso de cancelacion?
|
#14
|
|||
|
|||
Con el MODEM activo SetSystemPowerState da false y GetLastError da 0.
(Por cierto, es un MODEM USB). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Suspender e hibernar el pc | jorgegetafe | Varios | 14 | 02-11-2007 16:15:52 |
Dilema | marcoszorrilla | La Taberna | 9 | 21-09-2007 16:23:20 |
Delphi - VB : Gran Dilema | jorge_mosquera | OOP | 1 | 20-03-2007 16:13:58 |
El gran dilema de la impresión | hgiacobone | Impresión | 5 | 19-04-2005 09:28:06 |
Dilema Matrimonial | guillotmarc | Humor | 4 | 17-05-2003 00:02:22 |
|