begin process at 2012 02 14 03:22:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

 > DETECTER L'HYBERNATION SOUS NT\XP\2000 MAIS AUSSI L'ARRET DE FONCTIONNEMENT DE VOTRE PROG

DETECTER L'HYBERNATION SOUS NT\XP\2000 MAIS AUSSI L'ARRET DE FONCTIONNEMENT DE VOTRE PROG


 Information sur la source

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Exécution Niveau :Débutant Date de création :30/03/2003 Date de mise à jour :31/03/2003 21:00:12 Vu :3 946

Auteur : OverDarck

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

Mise a jour !!
Pu de bug si la gars laisse le pc en hybernation 1 jour et 1 secondes...
Pu de bug lors du passage de minuit
Detecte maintenant le changement d'heure ou de date...

Voila en fait ce bout de code etait destiner a detecter si l'ordi avait etait mis en hybernation durant l'execution du prog (Quel est l'interet, me direz vous ? frenchement j'en sais rien a vous de voir) et finalement rencontrant des dificultées a trouver comment faire j'ai utilisé une methode qui peut non seulement detecter la mise en hybernation du pc (apres son reveil) mais aussi l'interuption du programme (pause en fait) comme quand vous faites pause sous VB.....
Cela peut donc etre pratique, je sais pas pour quoi mais voila je met sa ici...

A oui j'oubliai il faut
Un label
Un timer (Interval = 1000)

Voila c'est tout

Source

  • Dim Adate As String, Atime As String, diff As Single
  • Private Sub Form_Load()
  • Atime = Time 'la date actuelle pour comparaison
  • Adate = Date 'la date actuelle pour comparaison
  • Caption = "NOW = " & Time & " - " & Atime & " - Diff " & diff 'juste pr voir
  • End Sub
  • Private Sub Timer1_Timer()
  • diff = DateDiff("s", Atime, Time) 'fait la difference entre les deux date
  • If diff <> 1 Then
  • If diff < 1 And diff <> 86399 Then diff = DateDiff("s", Time, Atime) 'fait la difference entre les deux date mais dans l'autre sans vu que l'ancienne heure est ici superieure a celle courante
  • Label1.Caption = "(Hybernation détéctée !! durée : " & diff & " secondes)" 'si l'ecart de ces deux heure est superieures a 1 (seconde) c'est quil y a forcement eu arret du prog pendant un certain temps...
  • ElseIf Time <> "00:00:00" And Atime <> "23:59:59" And Date <> Adate Then 'au cas ou le gars alume son pc a la meme heure quil la eteint (+1s) du coup le decalage est 1 mais la date a changée, hors sa sa se produit que a minuit !
  • Label1.Caption = "(Hybernation détéctée !! durée : " & DateDiff("s", Adate, Date) & " secondes)" 'si l'ecart de ces deux heure est superieures a 1 (seconde) c'est quil y a forcement eu arret du prog pendant un certain temps...
  • End If
  • Caption = "NOW = " & Time & " - " & Atime & " - Diff " & diff 'juste pr voir
  • Atime = Time 'l'heure actuelle pour la comparaison
  • Adate = Date 'la date actuelle pour comparaison
  • End Sub
Dim Adate As String, Atime As String, diff As Single
Private Sub Form_Load()
Atime = Time 'la date actuelle pour comparaison
Adate = Date 'la date actuelle pour comparaison
Caption = "NOW = " & Time & " - " & Atime & " - Diff " & diff 'juste pr voir
End Sub
Private Sub Timer1_Timer()
diff = DateDiff("s", Atime, Time) 'fait la difference entre les deux date
If diff <> 1 Then
    If diff < 1 And diff <> 86399 Then diff = DateDiff("s", Time, Atime) 'fait la difference entre les deux date mais dans l'autre sans vu que l'ancienne heure est ici superieure a celle courante
    Label1.Caption = "(Hybernation détéctée !! durée : " & diff & " secondes)" 'si l'ecart de ces deux heure est superieures a 1 (seconde) c'est quil y a forcement eu arret du prog pendant un certain temps...
ElseIf Time <> "00:00:00" And Atime <> "23:59:59" And Date <> Adate Then 'au cas ou le gars alume son pc a la meme heure quil la eteint (+1s) du coup le decalage est 1 mais la date a changée, hors sa sa se produit que a minuit !
    Label1.Caption = "(Hybernation détéctée !! durée : " & DateDiff("s", Adate, Date) & " secondes)" 'si l'ecart de ces deux heure est superieures a 1 (seconde) c'est quil y a forcement eu arret du prog pendant un certain temps...
End If
Caption = "NOW = " & Time & " - " & Atime & " - Diff " & diff   'juste pr voir
Atime = Time 'l'heure actuelle pour la comparaison
Adate = Date 'la date actuelle pour comparaison
End Sub

 Conclusion

voila voila j'espere que se sera utile, autant que la mise en veille prolongée elle même ;-)

@++ tlm et bonne prog


 Sources du même auteur

Source avec Zip Source avec une capture MP3 MASSIVE RENAMER - SEPCIAL BALADEUR MP3
Source avec Zip Source avec une capture FREE 50H - COMPTEUR INTERNET MULTI-POSTES
AFFICHER UN FORM MASQUE D'UN AUTRE PROGRAMME AVEC SON HANDLE
Source avec Zip Source avec une capture ADVANCED TITLE BAR ENTIERMENT CONFIGURABLE
Source avec Zip Source avec une capture ADVANCED MESSAGE BOX CRÉATOR

 Sources de la même categorie

Source avec Zip CALCULATRICE par TPB
Source avec Zip Source .NET (Dotnet) PIERRE PAPIER CISEAUX par Ultrabytes
Source avec Zip Source avec une capture UN PATCH EN VB (V3) par PhoenixBytes
Source avec Zip Source .NET (Dotnet) [VB.NET 2008] EXECUTION MULTITHREAD DE PLUSIEURS FONCTION À ... par ShadowTzu
Source avec Zip Source avec une capture MULTITHREADING ACTIVEX par Philippe734

Commentaires et avis

Commentaire de Rakarth2002 le 31/03/2003 08:05:46

Tu entends quoi exactement part "hybernation"? Mise en veille?

Commentaire de OverDarck le 31/03/2003 20:58:17

En fait l'hybernationc'est sur XP/NT/2k, c'est un system qui permet d'eteindre ton pc sans fermer tes programmes, et quand tu ralume ton pc tes programme repartent la ou tu les a laisser comme si de rien n'etait comme si t'avais jamais eteint le pc.... plutot coul surtout que le pc s'eteint en - de 6secondes chrono !!!!

Commentaire de PatriceVB le 01/04/2003 18:42:38 administrateur CS

en langage compréhensible, Hibernartion = Mise en veille :-)

Commentaire de OverDarck le 01/04/2003 19:59:05

Oui peut être mais pas vraiment vu que ca eteint completement le PC (quand meme !)

Commentaire de PatriceVB le 02/04/2003 07:35:46 administrateur CS

OverDrack&gt; la mise en veille n'est pas l'activation de l'économiseur d'écran, la mise en veille effectue un arrêt des disques durs et la mise en veille (extinction partielle) de l'écran.
Et ça n'éteint pas complétement le pc puisque l'on peut reprendre la main assez rapidement (donc le système gère les entrées/sorties, donc il est pas éteint :-) )
@+

Commentaire de OverDarck le 02/04/2003 09:48:40

avec l'hybernation si c'est sa que vous comprenez pas je pari que tu a krosoft 9.x ??
L'hybernation c'est le stokage de la RAM sur le disque dur et l'arret total du PC ! L'alimentation est coupée ! et quand tu ralume le PC la ram enregistrée est rechargé dans la RAM physique et tout repart comme s'il ne s'etait (pour les prog et pour l'ordi) passe qu'une seconde entre le moment ou tu la mis en hybernation et le moment ou tu la ralumé !

Commentaire de OverDarck le 02/04/2003 09:51:08

en fait mon code compte le temps pendant le quel le PC est eteint (en hybernation) et c'est tres different de la mise en veile qui elle permet de gere l'E/S et qui laisse tourner les progs...

Commentaire de Benj1105 le 02/04/2003 13:12:38

Heu... suis sous 2k et j' ai jamais vu ca... comment on se met en "hibernation" ? Est-ce que ca fait claquer les cartes reseaux ? (nan parce que la veille prolongée chez moi fait claquer les cartes reseaux)

@+

Commentaire de OverDarck le 03/04/2003 12:53:24

je comprend se que tu dit mais en fait 'Hybernation' c'est la meme chose que 'Mise en veille prolongée', si c'est bien de la meme chose que lon parle.
Sinon pour l'activé je croi que c'est dans le 2eme onglet des paramètres d'alimentation, qui sont accecibles depuis les proprietes du bureau.
Ensuite pour metre ton pc en hybernation (du moins sur XP) tu fait
Démarrer/arreter l'ordinateur et dans la fenetre qui apparit tu mintient majuscule enfoncé et a la place de mise en veil, il aparait 'mise en veille prolongée', tu clique et voila !!!

Commentaire de Warny le 18/04/2003 16:53:44

La mise en veille prolongée éteint les connexions distantes. L'un des interêts du programme peut-être de démarré un checkup du système pour voir s'il n'y pas lieu de relancer une connexion internet par exemple.
De temps en temps, sur certains tablets pc (au moins compaq) les périphériques USB restent en veille, on peut integrer leur relance à un tel check-list.
Pour a différence entre les deux dates tu peux essayer l'expression suivante (je ne suis pas sur que ça fonctionne):
Sub Timer1_Timer()
If Second(Now - Atime) &gt; 1 Or Day (Now - Atime) &lt;&gt; 0 Then
  '... il y a eu mise en veille
End If
ATime = Now

Bonne chance et bonne prog

Commentaire de fcapitaine le 07/03/2004 10:44:22

mais peut on rallumer le pc automatiquement lorsqu'il est en l'hybernation???

Commentaire de OverDarck le 07/03/2004 11:35:15

Bien sur que non ! c'est l'utilisateur qui decide et je vois pas l'interet !!

Commentaire de fcapitaine le 07/03/2004 11:45:24

L'intérêt serait de pouvoir allumer son PC à une heure précise et de l'éteindre à une autre!!!
perso j'aimerais trouver un prog qui le fasse cela me permettrait d'allumer mon pc toute la nuit et de le laisser éteint le jour (ou en veille)

Commentaire de OverDarck le 08/03/2004 10:16:28

lol c'est impossible néamoins ya des programme specialisé pour l'arret du pc selon des condition precise, ce progamme n'a aucun raport !
néamoins pour allumer ton pc a une heure precise rien de plus simple il faut aller dans le bios !
va dans power managment ou un men u similaire et la ya une option dans wake up events peut etre, pour allumer ton pc a une heure et jour precis si tu veut tout les nuit tu met en numeros du jour 0 ensuite tu fixe l'heure et tu active l'option qui doit s'apeler wake on time ou un truc comme sa, enfin cherche sa y est et sa marche tres bien, ensuite prend un prog pr leteindre a une autre heure !

Commentaire de true_picpic le 05/08/2004 13:12:50

bien sur que si c'est possible a distance sur des modem ou des cartes reseaux qui possédent l'option "wake on lan" ca permet d'allumer un pc a distance

Commentaire de OverDarck le 06/08/2004 11:00:41

Ouai c'est possible meme sans passer par le WOL, juste en réglan le timer dans le bios et ton pc s'allume  a l'heure que tu veut le jour que tu veut, mais le pb c'est que tu est obliger de le reconfigurer tout les jour, ou alors essai de metre comme numeros de jour 0 et comme sa ton PC s'allume a heure fixe tout les jours. Ensuite tu utilise un prog qui le met en veille prolongée rien de plus simple en vb par exemple, voila ++

Commentaire de gmni le 22/10/2008 13:36:46 10/10

Source originale!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales