Jump to content
Sign in to follow this  
Generator

Moniter Manager

Recommended Posts

Generator

This is a little tool I use in school, comes in handy if teacher/whatever checks on you. They will think you haven't touch you computer and it is on idle. Very easy to use and i guess you might like it.

Source:

#include<Misc.au3>

_Singleton("Monitor Manager")

Opt("MouseCoordMode", 1)
Opt("WinTitleMatchMode", 4)
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
Opt("RunErrorsFatal", 0)

Global Const $lciWM_SYSCommand = 274
Global Const $lciSC_MonitorPower = 61808
Global Const $lciPower_Off = 2
Global Const $lciPower_On = -1
Global $Msg = 1

$RegRead = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop", "SCRNSAVE.EXE")
$dll = DllOpen("user32.dll")
$menu = TrayCreateItem("Help")
$hwnd = WinGetHandle("classname=Progman")
TrayItemSetOnEvent($menu, "_Help")

While 1
    If _IsPressed("01") And MouseGetPos(0) = 0 And MouseGetPos(1) = 0 Then
        While _IsPressed("01")
            Sleep(1)
        WEnd
        $Msg = Not $Msg
        If Not $Msg Then
            Do
                _Off()
                Sleep(1)
            Until _IsPressed("01") And MouseGetPos(0) = 0 And MouseGetPos(1) = 0
        Else
            _On()
        EndIf
    EndIf
    If _IsPressed("02") And MouseGetPos(0) = 0 And MouseGetPos(1) = 0 Then
        While _IsPressed("02")
            Sleep(1)
        WEnd
        _On()
        _Bye()
    EndIf
    If _IsPressed("04") And MouseGetPos(0) = 0 And MouseGetPos(1) = 0 And $Msg Then
        While _IsPressed("04")
            Sleep(1)
        WEnd
        _ScreenSaver()
    EndIf
    Sleep(1)
WEnd
Func _Help()
    MsgBox(64, "Instruction", "To activate this, make appropriate click at top left screen" & @CRLF & @CRLF & "Left Button - Screen On/Off" & @CRLF & "Middle Button - Activate Screensaver" & @CRLF & "Right Button to exit program" & @CRLF & @CRLF & "This will close in 5 seconds", 5)
EndFunc   ;==>_Help
Func _On()
    DllCall($dll, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_On)
EndFunc   ;==>_On
Func _Off()
    DllCall($dll, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_Off)
EndFunc   ;==>_Off
Func _Bye()
    Exit
EndFunc   ;==>_Bye
Func _ScreenSaver()
    ShellExecute($RegRead)
    If @error Then TrayTip("Error", "This machine have no default screensaver", "", 1)
EndFunc   ;==>_ScreenSaver
Edited by Generator

Share this post


Link to post
Share on other sites
JustinReno

That's pretty cool! :)

Share this post


Link to post
Share on other sites
thenewkid

nice script thow i dont like that you use the mouse to trun on or off maybe use shit+1 for off and shit+2 for on? just a idea


some of my scripts check them out and give feedback so i can learn from them :)autoclicker a autoclickernote taker a script to take notes with

Share this post


Link to post
Share on other sites
JustinReno

nice script thow i dont like that you use the mouse to trun on or off maybe use shit+1 for off and shit+2 for on? just a idea

Did you forget your F key, lol. :)

Share this post


Link to post
Share on other sites
magician13134

nice script thow i dont like that you use the mouse to trun on or off maybe use shit+1 for off and shit+2 for on? just a idea

Or maybe.... shift+1?

:)

Ahhhh, beat me to it!

Nice script, by the way!

I would just add #NoTrayIcon and make the help message box appear when you first run it, and yes, I also would like to see a keyboard shortcut

Maybe like this

#include<Misc.au3>
#NoTrayIcon

_Singleton("Monitor Manager")

Opt("WinTitleMatchMode", 4)
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)

Global Const $lciWM_SYSCommand = 274
Global Const $lciSC_MonitorPower = 61808
Global Const $lciPower_Off = 2
Global Const $lciPower_On = -1
Global $Msg = 1

HotKeySet("{Pause}", "_Bye")
HotKeySet("+1", "_Off")
HotKeySet("+2", "_On")

_Help()

$dll = DllOpen("user32.dll")
$menu = TrayCreateItem("Help")
$hwnd = WinGetHandle("classname=Progman")
TrayItemSetOnEvent($menu, "_Help")

While 1
    If _IsPressed("01") And MouseGetPos(0) = 0 And MouseGetPos(1) = 0 Then
        While _IsPressed("01")
            Sleep(1)
        WEnd
        $Msg = Not $Msg
        If Not $Msg Then
            Do
                _Off()
                Sleep(1)
            Until _IsPressed("01") And MouseGetPos(0) = 0 And MouseGetPos(1) = 0
        Else
            _On()
        EndIf
    EndIf
    If _IsPressed("02") And MouseGetPos(0) = 0 And MouseGetPos(1) = 0 Then
        While _IsPressed("02")
            Sleep(1)
        WEnd
        _On()
        _Bye()
    EndIf
    Sleep(1)
WEnd
Func _Help()
    MsgBox(64, "Instruction", "Left Click Top Left Screen - On/Off" & @CRLF & "Right Click Top Left Screen - Exit" & @CRLF & "Shift+1 - Hide" & @CRLF & "Shift + 2 - Show" & @CRLF & "Pause|Break - Exit" & @CRLF & @CRLF & @CRLF & "This will close in 5 seconds", 5)
EndFunc ;==>_Help
Func _On()
    DllCall($dll, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_On)
EndFunc ;==>_On
Func _Off()
    DllCall($dll, "int", "SendMessage", "hwnd", $hwnd, "int", $lciWM_SYSCommand, "int", $lciSC_MonitorPower, "int", $lciPower_Off)
EndFunc ;==>_Off
Func _Bye()
    Exit
EndFunc ;==>_Bye
Edited by magician13134

Share this post


Link to post
Share on other sites
Generator

There are few reasons i prefer mouse over key:

- In any situation, left click on top left screen is the fastest

- The reason top left screen is used because it is the least use spot in the screen

- Even you can't see anything you can keep moving mouse to top left and make a click

- AutoIt hotkey takes over all programs hotkey, though _IsPressed can be used but as i mentioned it is the fastest way and least effecting anything work or progress being made on computer

Glad you all like it, change the script to suit your need.

Share this post


Link to post
Share on other sites
Generator

Updated.

Share this post


Link to post
Share on other sites
pacman1176

Hey this is really useful, as I use my monitor as my Xbox 360 display, and whenever I want to switch over to the Xbox while the PC screen had priority, I would have to fiddle with the buttons on the monitor, now its one easy click ;)

Though there is one thing, I don't have a set screensaver, and when I do the wheel-click it doesn't give the prescribed error, but rather the folder directory of the script pops open. :P

Share this post


Link to post
Share on other sites
Generator

Hey this is really useful, as I use my monitor as my Xbox 360 display, and whenever I want to switch over to the Xbox while the PC screen had priority, I would have to fiddle with the buttons on the monitor, now its one easy click ;)

Though there is one thing, I don't have a set screensaver, and when I do the wheel-click it doesn't give the prescribed error, but rather the folder directory of the script pops open. :P

Glad you liked it, play with the source for you own need.

Share this post


Link to post
Share on other sites
gauss5546

Wow, awesome script.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×