[R] Empecher la mise en veille

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

[R] Empecher la mise en veille  

#1

Message par DimVar »

Bonjour,

Je cherche à empecher la mise en veille sur mon poste de travail, soumis à des GPO qui empechent l'acces à la gestion de la mise en veille (win 10).
J'ai les droits admin local, j'ai de suite pensé à powercfg avec qq parametres pour desactiver le mise en veille, mais pas les droits.
Je pense donc à une boucle qui send un touche clavier ou click souris, mais lequel ou laquelle sans que ce ne gene mona ctivité sur le bureau.
Avez vous d'autres idées ?

Merci.


Cdlt.
Dimvar.
Modifié en dernier par DimVar le jeu. 04 juil. 2019 15:32, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Empecher la mise en veille

#2

Message par TommyDDR »

Savez-vous au bout de combien de temps la mise en veille se lance ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Empecher la mise en veille

#3

Message par mikell »

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Empecher la mise en veille

#4

Message par DimVar »

@Tommy : Oui, 15mn.
@mickell : merci, je vais regarder.

J'ai pour l'instant pondu ca, en cours de test.
Global $timeset, $time


$timeset = TimerInit ()


While 1
_Timer()
Wend

Func _Timer()


   Local $posMouse =""
   $time = TimerDiff ($timeset)
   If $time < 840000 Then
      $timeset = TimerInit () ;si le temps ecoulé est sup à 14mn, alors on fait un deplacement de souris et re-init du temps
      $posMouse = MouseGetPos ()
      MouseMove ($posMouse[0] +1, $posMouse[1] +1)
   EndIf

EndFunc
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Empecher la mise en veille

#5

Message par DimVar »

Arf !
D'apres le forum Anglais, le mousemove ne fonctionne pas sur une VM (machine virtuelle).
Je dois semble t il faire appel à du _WinAPI*
Ca vous parle ?

Merci.

Ps : j ai testé un simple script qui fait un mousemove(1,1), et en effet, rien ne bouge.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : En ligne

Re: [..] Empecher la mise en veille

#6

Message par jchd »

Sinon, envoyer un Shift-Down immédiatement suivi d'un Shift-Up (ou Ctrl- ou Alt-) tout les 10 minutes devrait/pourrait marcher, sauf erreur.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Empecher la mise en veille

#7

Message par DimVar »

En effet, mais je cherchais une action qui n'impactais pas le travail sur le bureau (ou sur une appli).
Si je suis sur un notepad++ et que je m'apprete à supprimer un bloc de code, et que le shift UP arrive, aie :)

[edit] je teste la soluce de Mikell actuellement (obligé d'attendre les 15mn definies par l'admin du domaine :? )
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Empecher la mise en veille

#8

Message par mikell »

DimVar a écrit : jeu. 04 juil. 2019 14:14Je dois semble t il faire appel à du _WinAPI*
Ca vous parle ?
Oui

:mrgreen:

Edit : ce n'est pas ma solution, c'est celle d'orax (et du forum US)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Empecher la mise en veille

#9

Message par DimVar »

Ben oui :oops: :roll:
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Empecher la mise en veille

#10

Message par DimVar »

En effet, ca fait le taff !
Merci. :bisou:
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] Empecher la mise en veille

#11

Message par TommyDDR »

Pour les solutions de shift down / up, vous pouvez le lier à :
qui permet de connaitre le nombre de millisecondes d'inactivité.

Ce qui pourrait donner une fonction qui vérifie si on a dépassé les 14 minutes d'absence :
#include <WinAPISys.au3>

setIdleMax(15)

While(1)
   Sleep(10)
WEnd

Func setIdleMax($min = Null)
   Local Static $userMin = Null
   Local Static $userFunc = Null
   If(IsDeclared('min')) Then
      $userMin = $min
   EndIf
   Local $msIdle = _WinAPI_GetIdleTime()
   Local $msec = $userMin * 60000
   Local $time = $msec - $msIdle - 100
   If($time <= 0) Then
      ConsoleWrite("shift !" & @CRLF)
      Send("{LSHIFT DOWN}")
      Send("{LSHIFT UP}")
   EndIf
   AdlibRegister(setIdleMax, $time)
EndFunc
Comme ça vous avez une fonction qui s'auto gère, vous pouvez avoir ce que vous voulez dans le while si vous voulez faire autre chose et vous pouvez même réappeler setIdleMax en changeant la valeur de temps au cours du programme.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : En ligne

Re: [R] Empecher la mise en veille

#12

Message par jchd »

Pour les solutions de shift down / up, vous pouvez le lier à _WinAPI_GetIdleTime() qui permet de connaitre le nombre de millisecondes d'inactivité.
Tout à fait. Si la machine est idle depuis 14 minutes, la probabilité que lorsqu'on fait un shift down-up interfère avec une action "en cours" (alors qu'il ne se passe rien depuis un bail) est AMHA extrêmement faible.

Ceci dit, s'il y a une primitive toute ficelée qui fait le boulot, autant l'utiliser.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [R] Empecher la mise en veille

#13

Message par DimVar »

@Tommy : Merci pour ce complément.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre