Homes32 Posted September 11, 2010 Share Posted September 11, 2010 (edited) Greetings!I've run into a bit of an issue with my script. I am using the following code to block the screensaver from running but am also using _Timer_GetIdleTime() to decide whether to hide or show a GUI window. The idea being that after 30 sec of inactivity the controlGUI will hide itself until the user is ready for it. The problem is that when I call Send() the IdleTime gets reset and the window will show itself, which I don't want unless the user actually sends activity.does anybody have any advice on how to either disable the screen saver from running without modifying the registry or keep the controlGUI from showing on Send("{RSHIFT}")?#include <Timers.au3> ; _Timer_GetIdleTime() #include <WindowsConstants.au3> $DisableScrSvr = 1 $controlGui = GUICreate("Unlock Computer", 430, 165, (@DesktopWidth / 2) - 200, (@DesktopHeight / 2) - 100, BitOR($WS_DLGFRAME, $WS_POPUP)) While 1 ; get time since last mouse/key Global $iIdleTime = _Timer_GetIdleTime() ; block screensaver if user so wishes If $DisableScrSvr = 1 And $iIdleTime > 50000 Then ; every 50 sec press the right shift key Send("{RSHIFT}") Sleep(10) ; sleep 6 ms so send key is released EndIf ; Hide the password window if no activity and show it when user hits keyboard or mouse If $iIdleTime < 30000 Then GUISetState(@SW_SHOW, $controlGui) Else GUISetState(@SW_HIDE, $controlGui) EndIf WEndregards,-Homes32 Edited September 11, 2010 by Homes32 Link to comment Share on other sites More sharing options...
Synct Posted September 11, 2010 Share Posted September 11, 2010 (edited) Do you consider right clicking the desktop, clicking display, and disabiling the screensaver as modifying the registry? I always have my screensaver disabled as it isn't a problem now that we don't have issues with newer monitors burning still images into the screen... Another option may be to have the mouse mouse a few pixels every couple minutes, just check the screensaver delay. Perhaps I'm not understanding the problem fully. Can I see the code you are using to show the GUI? Does the GUI show with ANY user activity? Edited September 11, 2010 by Synct Link to comment Share on other sites More sharing options...
Homes32 Posted September 11, 2010 Author Share Posted September 11, 2010 Do you consider right clicking the desktop, clicking display, and disabiling the screensaver as modifying the registry? I always have my screensaver disabled as it isn't a problem now that we don't have issues with newer monitors burning still images into the screen...in this case yes. when the program exits normally or abnormally I want everything as the user had it, so this isn't an option for me in the scenario.Another option may be to have the mouse mouse a few pixels every couple minutes, just check the screensaver delay.thats going to reset the _Timer_GetIdleTime() and leave me in the same situation as I am now with Send()Perhaps I'm not understanding the problem fully.Can I see the code you are using to show the GUI? Does the GUI show with ANY user activity?certainly. its in my 1st post. It checkes the value of _Timer_GetIdleTime() and hides the GUI after 30 seconds of inactivity and shows the GUI on any activity.thanks for having a look.-Homes32 Link to comment Share on other sites More sharing options...
Homes32 Posted September 18, 2010 Author Share Posted September 18, 2010 judging by the lack of response I have either completely confused everyone or you are all as baffled as myself in the matter at hand. to pose the question in another way: is there a method to exclude certain keystrokes from resetting _Timer_GetIdleTime()? Link to comment Share on other sites More sharing options...
wakillon Posted September 18, 2010 Share Posted September 18, 2010 No, otherwise he would not do his job properly ! AutoIt 3.3.14.2 X86 - SciTE 3.6.0 - WIN 8.1 X64 - Other Example Scripts Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now