Jump to content

Hider Pro


Generator
 Share

Recommended Posts

Hider Pro v.80

This is one of my old project that i worked on it.

Basically it hides windows as your needs.

Sincei i don't make much releases so i think, why not share this with people.

There are some great examples inside this script

Feel free to modifiy and improve, you can see how to use by clicking help.

I didn't work on this for a long time and i think i am not going to continue this project.

Things to do if you want to improve it:

- _IsPressed() as hotkeys so it doesn't take away from softwares

- Password protection(i didn't put it because i found it complicated to sort out) But the func is already in the script

- Maybe a trayicon will be nice

And yeh here it is. Feel free to mod and edit, most of the credit goes to AutoIt forum, some goes to UDF creator, rest goes to me for putting stuff together and testing it out.

I don't think there are any bugs. Well here it is, after a long talk.

Comments are welcomed.

This is more like a general tool, i use that in school for varies use due to restriction. Enjoy.

CODE

If _Singleton("Hider Pro", 1) = 0 Then
    MsgBox(64, "Warning", "Hider Pro is already running", 3)
    Exit
EndIf
$RegRead = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop", "SCRNSAVE.EXE")
#endregion OnRunCheck
#region Includes
#include<GUIConstants.au3>
#include<Process.au3>
#include<Misc.au3>
#NoTrayIcon
#endregion Includes
#region Declares
Opt("WinTitleMatchMode", 3)
Opt("GUIOnEventMode", 1)
Opt("GUICloseOnEsc", 0)
Opt("RunErrorsFatal", 0)
Global $Mode = "None"
Global $subchild
Global $subchildmore
Global $subtrans
Global $subtranstitle, $subtransslider
Global $subtitle
Global $subtitlechange, $subchangeinput
Global $subcheck, $subwinedit
Global $subprocess
Global $EditSuspend, $EditResume
Global $RealHandle = "0x00000000"
Global $FakeHandle = "0x00000000"
Global $HideHandle = "0x00000000"
Global $ProcessName
Global $ComplexHwd1 = "0x00000000", $ComplexHwd2 = "0x00000000", $ComplexHwd3 = "0x00000000", $ComplexHwd4 = "0x00000000"
Global $ComplexHwd5 = "0x00000000", $ComplexHwd6 = "0x00000000", $ComplexHwd7 = "0x00000000", $ComplexHwd8 = "0x00000000", $ComplexHwd9 = "0x00000000"
Global $ComplexBool1 = False, $ComplexBool2 = False, $ComplexBool3 = False, $ComplexBool4 = False, $ComplexBool5 = False
Global $ComplexBool6 = False, $ComplexBool7 = False, $ComplexBool8 = False, $ComplexBool9 = False
Global $SimpleBool = False
Global $SimpleHwd = "0x00000000"
Global $Inuse = False, $passwordfrm, $string1, $string2, $password = ""
Global $InputInuse = False, $InputGUI, $Inputpw
$PasswordInuse = False
$HideIt = False
$HotKeyToggleHide = False
$OnTopValue = False
$EnableHotkey = False
$Hide = False
$HotKeyToggleAC = False
$Traphotkey = False
$Traping = False
$ACBoolean = False
$ProcessSuspend = False
$InuseHelp = False
$InuseMore = False
$InuseTrans = False
$InuseTitle = False
$InuseCheck = False
$InuseProcess = False
$ProcessBoolean = False
$Sleep = 500
#endregion Decalres
#region HotKeys
HotKeySet("!^+R", "SetRealWin")
HotKeySet("^!+F", "SetFakeWin")
HotKeySet("^!+C", "CheckCurrent")
HotKeySet("^{NUMPAD1}", "SetComplex1")
HotKeySet("^{NUMPAD2}", "SetComplex2")
HotKeySet("^{NUMPAD3}", "SetComplex3")
HotKeySet("^{NUMPAD4}", "SetComplex4")
HotKeySet("^{NUMPAD5}", "SetComplex5")
HotKeySet("^{NUMPAD6}", "SetComplex6")
HotKeySet("^{NUMPAD7}", "SetComplex7")
HotKeySet("^{NUMPAD8}", "SetComplex8")
HotKeySet("^{NUMPAD9}", "SetComplex9")
HotKeySet("{PAUSE}", "ScreenSaver")
#endregion Hotkeys
#region GUICreation
$mainfrm = GUICreate("Hider Pro", "198", "343", -1, -1)
$menufile = GUICtrlCreateMenu("File")
$menufileitem = GUICtrlCreateMenuitem("Exit", $menufile)
$menutrans = GUICtrlCreateMenu("Trans")
$menutransitem1 = GUICtrlCreateMenuitem("75% Transparent", $menutrans)
$menutransitem2 = GUICtrlCreateMenuitem("50% Transparent", $menutrans)
$menutransitem3 = GUICtrlCreateMenuitem("25% Transparent", $menutrans)
$menutransitem5 = GUICtrlCreateMenuitem("10% Transparent", $menutrans)
$menutransitem4 = GUICtrlCreateMenuitem("Restore Transparent", $menutrans)
$menuopt = GUICtrlCreateMenu("Options")
$menuenable = GUICtrlCreateMenu("Enable", $menuopt)
$menuoptitem = GUICtrlCreateMenuitem("Enable Hide", $menuenable)
$menuoptitem1 = GUICtrlCreateMenuitem("Enable AutoClicker", $menuenable)
$menuoptitem3 = GUICtrlCreateMenuitem("Enable MouseTrap", $menuenable)
$menuoptitem2 = GUICtrlCreateMenuitem("Enable Process Suspend", $menuenable)
$menuoptitem4 = GUICtrlCreateMenuitem("Enable Password Protection", $menuenable)
$menumanual = GUICtrlCreateMenu("Manual", $menuopt)
$menumanualtitle = GUICtrlCreateMenuitem("Manual Window Title", $menumanual)
$menumanualpw = GUICtrlCreateMenuitem("Manual Set Password", $menumanual)
$menumanualpro = GUICtrlCreateMenuitem("Manual Process Suspension", $menumanual)
$menumanualtrans = GUICtrlCreateMenuitem("Manual Window Transparency", $menumanual)
$executemenu = GUICtrlCreateMenu("Execute", $menuopt)
$MenuRun1 = GUICtrlCreateMenuitem("Run Cmd", $executemenu)
$Menurun2 = GUICtrlCreateMenuitem("Run Regedit", $executemenu)
$MenuRun3 = GUICtrlCreateMenuitem("Run Msconfig", $executemenu)
$MenuRun4 = GUICtrlCreateMenuitem("Run Helpctr", $executemenu)
$aboutmenu = GUICtrlCreateMenu("About")
$aboutmenuItem = GUICtrlCreateMenuitem("How to Use", $aboutmenu)
$aboutmenuitem1 = GUICtrlCreateMenuitem("More", $aboutmenu)
$labelprocess = GUICtrlCreateLabel("Process Name", 5, 2, 80, 20, $SS_CENTER)
$labelstate = GUICtrlCreateLabel("State", 110, 2, 70, 20, $SS_CENTER)
$listpro = GUICtrlCreateList("", 2, 22, 90, 130, $LBS_SORT + $WS_VSCROLL + $WS_BORDER)
$vislabel = GUICtrlCreateLabel("Unknown State", 100, 25, 90, 60, $SS_CENTER)
$killbutton = GUICtrlCreateButton("Kill Process", 100, 80, 95, 30, $BS_CENTER + $BS_VCENTER)
$refreshbutton = GUICtrlCreateButton("Refresh List", 100, 115, 95, 30, $BS_CENTER + $BS_VCENTER)
$simplemode = GUICtrlCreateButton("Simple Mode", 100, 150, 95, 30, $BS_CENTER + $BS_VCENTER)
$complexmode = GUICtrlCreateButton("Complex Mode", 100, 185, 95, 30, $BS_CENTER + $BS_VCENTER)
$singlemode = GUICtrlCreateButton("Single Mode", 2, 150, 90, 30, $BS_CENTER + $BS_VCENTER)
$doublemode = GUICtrlCreateButton("Double Mode", 2, 185, 90, 30, $BS_CENTER + $BS_VCENTER)
$HotkeyEnDis = GUICtrlCreateButton("Enable Hide Hotkey", 2, 220, 193, 30, $BS_CENTER + $BS_VCENTER)
$Restoreall = GUICtrlCreateButton("Restore All Hidden Windows", 2, 255, 193, 30, $BS_CENTER + $BS_VCENTER)
$SetOnTop = GUICtrlCreateButton("Set On Top", 2, 290, 90, 30, $BS_CENTER + $BS_VCENTER)
$ExitButton = GUICtrlCreateButton("Exit", 100, 290, 95, 30, $BS_CENTER + $BS_VCENTER)
$HideHandle = WinGetHandle($mainfrm, "")
GUISetState(@SW_SHOW)
#endregion GUICreation
#region GUIEvents
GUISetOnEvent($GUI_EVENT_CLOSE, "QuitRestore")
GUICtrlSetOnEvent($refreshbutton, "Refresh")
GUICtrlSetOnEvent($menufileitem, "QuitRestore")
GUICtrlSetOnEvent($menutransitem1, "Trans1")
GUICtrlSetOnEvent($menutransitem2, "Trans2")
GUICtrlSetOnEvent($menutransitem3, "Trans3")
GUICtrlSetOnEvent($menutransitem4, "Trans4")
GUICtrlSetOnEvent($menutransitem5, "Trans5")
GUICtrlSetOnEvent($menuoptitem, "ToggleHide")
GUICtrlSetOnEvent($menuoptitem1, "ToggleAC")
GUICtrlSetOnEvent($menuoptitem2, "ToggleProcess")
GUICtrlSetOnEvent($menuoptitem3, "ToggleTrap")
GUICtrlSetOnEvent($SetOnTop, "SetTop")
GUICtrlSetOnEvent($killbutton, "KillProcess")
GUICtrlSetOnEvent($HotkeyEnDis, "HotKeyEnDis")
GUICtrlSetOnEvent($ExitButton, "QuitRestore")
GUICtrlSetOnEvent($menufileitem, "QuitRestore")
GUICtrlSetOnEvent($Restoreall, "Restoreall")
GUICtrlSetOnEvent($aboutmenuItem, "Help")
GUICtrlSetOnEvent($aboutmenuitem1, "More")
GUICtrlSetOnEvent($singlemode, "Single")
GUICtrlSetOnEvent($doublemode, "Double")
GUICtrlSetOnEvent($simplemode, "Simple")
GUICtrlSetOnEvent($complexmode, "Complex")
GUICtrlSetOnEvent($menumanualpro, "ManualProcess")
GUICtrlSetOnEvent($menumanualtitle, "ManualTitle")
GUICtrlSetOnEvent($menumanualtrans, "ManualTrans")
GUICtrlSetOnEvent($MenuRun1, "RunCmd")
GUICtrlSetOnEvent($Menurun2, "RunRegedit")
GUICtrlSetOnEvent($MenuRun3, "Runmsconfig")
GUICtrlSetOnEvent($MenuRun4, "Runhelp")
GUICtrlSetOnEvent($menuoptitem4, "_EnablePw")
GUICtrlSetOnEvent($menumanualpw, "_PasswordGUI")
GUICtrlSetFont($labelprocess, 12, 400, 0, "Tahoma")
GUICtrlSetFont($labelstate, 12, 400, 0, "Tahoma")
GUICtrlSetFont($vislabel, 11, 400, 0, "Tahoma")
GUICtrlSetFont($killbutton, 9, 400, 0, "Tahoma")
GUICtrlSetFont($refreshbutton, 9, 400, 0, "Tahoma")
GUICtrlSetFont($complexmode, 9, 400, 0, "Tahoma")
GUICtrlSetFont($simplemode, 9, 400, 0, "Tahoma")
GUICtrlSetFont($singlemode, 9, 400, 0, "Tahoma")
GUICtrlSetFont($doublemode, 9, 400, 0, "Tahoma")
GUICtrlSetFont($HotkeyEnDis, 9, 400, 0, "Tahoma")
GUICtrlSetFont($Restoreall, 9, 400, 0, "Tahoma")
GUICtrlSetFont($SetOnTop, 9, 400, 0, "Tahoma")
GUICtrlSetFont($ExitButton, 9, 400, 0, "Tahoma")
GUICtrlSetState($HotkeyEnDis, $GUI_DISABLE)
GUISetFont(9, 400, 0, "Tahoma")
#Endregion GUIEvents
While 1
    If ProcessExists("explorer.exe") = 0 Then
        Run("explorer.exe")
    EndIf
    Sleep(100)
WEnd
#region Functions
Func _EnablePw()
    If $password = "" Then
        MsgBox(64, "Password", "Password was not set, please set it before enable")
        Return
    EndIf
    $PasswordInuse = Not $PasswordInuse
    If $PasswordInuse = True Then
        GUICtrlSetData($menuoptitem4, "Disable Password Protection")
    Else
        GUICtrlSetData($menuoptitem4, "Enable Password Protection")
    EndIf
EndFunc   ;==>_EnablePw
Func Refresh()
    $list = ProcessList()
    For $i = 1 To $list[0][0]
        GUICtrlSetData($listpro, $list[$i][0])
    Next
EndFunc   ;==>Refresh
Func Trans1()
    WinSetTrans($HideHandle, "", 192)
EndFunc   ;==>Trans1
Func Trans2()
    WinSetTrans($HideHandle, "", 128)
EndFunc   ;==>Trans2
Func Trans3()
    WinSetTrans($HideHandle, "", 64)
EndFunc   ;==>Trans3
Func Trans4()
    WinSetTrans($HideHandle, "", 255)
EndFunc   ;==>Trans4
Func Trans5()
    WinSetTrans($HideHandle, "", 40)
EndFunc   ;==>Trans5
Func ToggleTrap()
    $Traphotkey = Not $Traphotkey
    If $Traphotkey = True Then
        HotKeySet("!^+M", "Trap")
        GUICtrlSetData($menuoptitem3, "Disable MouseTrap")
    Else
        HotKeySet("!^+M")
        GUICtrlSetData($menuoptitem3, "Enable MouseTrap")
    EndIf
EndFunc   ;==>ToggleTrap
Func ToggleHide()
    $HotKeyToggleHide = Not $HotKeyToggleHide
    If $HotKeyToggleHide = True Then
        HotKeySet("{F9}", "HideIt")
        GUICtrlSetData($menuoptitem, "Disable Hide")
    Else
        HotKeySet("{F9}")
        GUICtrlSetData($menuoptitem, "Enable Hide")
    EndIf
EndFunc   ;==>ToggleHide
Func Trap()
    Local $Title = WinGetTitle("", "")
    Local $Cord = WinGetPos($Title, "")
    $Traping = Not $Traping
    If $Traping = True Then
        _MouseTrap($Cord[0], $Cord[1], $Cord[0] + $Cord[2], $Cord[1] + $Cord[3])
    Else
        _MouseTrap(-1, -1, @DesktopWidth, @DesktopHeight)
    EndIf
EndFunc   ;==>Trap
Func HideIt()
    $HideIt = Not $HideIt
    If $HideIt = True Then
        WinSetState($HideHandle, "", @SW_HIDE)
    Else
        WinSetState($HideHandle, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideIt
Func SetTop()
    $OnTopValue = Not $OnTopValue
    If $OnTopValue = True Then
        GUICtrlSetData($SetOnTop, "Cancel On Top")
        WinSetOnTop($HideHandle, "", 1)
    Else
        GUICtrlSetData($SetOnTop, "Set On Top")
        WinSetOnTop($HideHandle, "", 0)
    EndIf
EndFunc   ;==>SetTop
Func KillProcess()
    $Pid = GUICtrlRead($listpro)
    $Process = ProcessExists($Pid)
    If $Process = 0 Then
        MsgBox(64, "Process not Exist", "Please Refresh List", 3)
        Return
    Else
        $Warnmsg = MsgBox(4 + 48, "Warning", "Are you sure you want to close this process? Doing so may cause system unstability and unwanted data loss! Continue?")
        If $Warnmsg = 6 Then
            ProcessClose($Process)
        Else
            Return
        EndIf
    EndIf
EndFunc   ;==>KillProcess
Func SetRealWin()
    If $Mode = "None" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $RealHandle <> "0x00000000" Then
        WinSetState($RealHandle, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $RealHandle = $Winlist[$i][1]
        EndIf
    Next
    Return $RealHandle
EndFunc   ;==>SetRealWin
Func SetFakeWin()
    If $Mode = "Single" Or $Mode = "None" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $FakeHandle <> "0x00000000" Then
        WinSetState($FakeHandle, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $FakeHandle = $Winlist[$i][1]
        EndIf
    Next
    Return $FakeHandle
EndFunc   ;==>SetFakeWin
Func HotKeyEnDis()
    $EnableHotkey = Not $EnableHotkey
    If $EnableHotkey = True Then
        GUICtrlSetData($HotkeyEnDis, "Disable Hide Hotkey")
        GUICtrlSetState($singlemode, $GUI_DISABLE)
        GUICtrlSetState($doublemode, $GUI_DISABLE)
        GUICtrlSetState($simplemode, $GUI_DISABLE)
        GUICtrlSetState($complexmode, $GUI_DISABLE)
        If $Mode = "Complex" Then
            HotKeySet("!{NUMPAD1}", "HideComplex1")
            HotKeySet("!{NUMPAD2}", "HideComplex2")
            HotKeySet("!{NUMPAD3}", "HideComplex3")
            HotKeySet("!{NUMPAD4}", "HideComplex4")
            HotKeySet("!{NUMPAD5}", "HideComplex5")
            HotKeySet("!{NUMPAD6}", "HideComplex6")
            HotKeySet("!{NUMPAD7}", "HideComplex7")
            HotKeySet("!{NUMPAD8}", "HideComplex8")
            HotKeySet("!{NUMPAD9}", "HideComplex9")
        ElseIf $Mode = "Simple" Then
            HotKeySet("{F10}", "SetSimpleWin")
        Else
            HotKeySet("{F10}", "Hide")
        EndIf
    Else
        GUICtrlSetData($HotkeyEnDis, "Enable Hide Hotkey")
        If $Mode = "Single" Then
            GUICtrlSetState($doublemode, $GUI_ENABLE)
            GUICtrlSetState($simplemode, $GUI_ENABLE)
            GUICtrlSetState($complexmode, $GUI_ENABLE)
        ElseIf $Mode = "Double" Then
            GUICtrlSetState($singlemode, $GUI_ENABLE)
            GUICtrlSetState($simplemode, $GUI_ENABLE)
            GUICtrlSetState($complexmode, $GUI_ENABLE)
        ElseIf $Mode = "Simple" Then
            GUICtrlSetState($doublemode, $GUI_ENABLE)
            GUICtrlSetState($singlemode, $GUI_ENABLE)
            GUICtrlSetState($complexmode, $GUI_ENABLE)
        ElseIf $Mode = "Complex" Then
            GUICtrlSetState($doublemode, $GUI_ENABLE)
            GUICtrlSetState($simplemode, $GUI_ENABLE)
            GUICtrlSetState($singlemode, $GUI_ENABLE)
        EndIf
        If $Mode = "Complex" Then
            HotKeySet("!{NUMPAD1}")
            HotKeySet("!{NUMPAD2}")
            HotKeySet("!{NUMPAD3}")
            HotKeySet("!{NUMPAD4}")
            HotKeySet("!{NUMPAD5}")
            HotKeySet("!{NUMPAD6}")
            HotKeySet("!{NUMPAD7}")
            HotKeySet("!{NUMPAD8}")
            HotKeySet("!{NUMPAD9}")
            HotKeySet("!{NUMPAD0}")
        Else
            HotKeySet("{F10}")
        EndIf
    EndIf
EndFunc   ;==>HotKeyEnDis
Func Hide()
    If $Mode = "None" Then
        MsgBox(64, "Error", "Please reset your mode or Windows", 3)
    EndIf
    If $Mode = "Single" Then
        $Hide = Not $Hide
        If $Hide = True Then
            WinSetState($RealHandle, "", @SW_HIDE)
        Else
            WinSetState($RealHandle, "", @SW_SHOW)
        EndIf
    EndIf
    If $Mode = "Double" Then
        $Hide = Not $Hide
        If $Hide = True Then
            WinSetState($RealHandle, "", @SW_HIDE)
            WinSetState($FakeHandle, "", @SW_SHOW)
        Else
            WinSetState($RealHandle, "", @SW_SHOW)
            WinSetState($FakeHandle, "", @SW_HIDE)
        EndIf
    EndIf
EndFunc   ;==>Hide
Func QuitRestore()
    If $Mode = "Single" Then
        GUIDelete($mainfrm)
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($RealHandle, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        Exit
    EndIf
    If $Mode = "Double" Then
        GUIDelete($mainfrm)
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($RealHandle, "", @SW_SHOW)
            WinSetState($FakeHandle, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        Exit
    EndIf
    If $Mode = "None" Then
        Exit
    EndIf
    If $Mode = "Simple" Then
        GUIDelete($mainfrm)
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($SimpleHwd, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        Exit
    EndIf
    If $Mode = "Complex" Then
        GUIDelete($mainfrm)
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($ComplexHwd1, "", @SW_SHOW)
            WinSetState($ComplexHwd2, "", @SW_SHOW)
            WinSetState($ComplexHwd3, "", @SW_SHOW)
            WinSetState($ComplexHwd4, "", @SW_SHOW)
            WinSetState($ComplexHwd5, "", @SW_SHOW)
            WinSetState($ComplexHwd6, "", @SW_SHOW)
            WinSetState($ComplexHwd7, "", @SW_SHOW)
            WinSetState($ComplexHwd8, "", @SW_SHOW)
            WinSetState($ComplexHwd9, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        Exit
    EndIf
EndFunc   ;==>QuitRestore
Func RestoreAll()
    If $Mode = "Single" Then
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($RealHandle, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        GUICtrlSetData($vislabel, "All Windows are Restored")
    EndIf
    If $Mode = "Double" Then
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($RealHandle, "", @SW_SHOW)
            WinSetState($FakeHandle, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        GUICtrlSetData($vislabel, "All Windows are Restored")
    EndIf
    If $Mode = "None" Then
        MsgBox(64, "Error", "No Windows was selected", 3)
    EndIf
    If $Mode = "Simple" Then
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($SimpleHwd, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        GUICtrlSetData($vislabel, "All Windows are Restored")
    EndIf
    If $Mode = "Complex" Then
        ProgressOn("Restoring", "", "")
        For $i = 1 To 1 Step 1
            WinSetState($ComplexHwd1, "", @SW_SHOW)
            WinSetState($ComplexHwd2, "", @SW_SHOW)
            WinSetState($ComplexHwd3, "", @SW_SHOW)
            WinSetState($ComplexHwd4, "", @SW_SHOW)
            WinSetState($ComplexHwd5, "", @SW_SHOW)
            WinSetState($ComplexHwd6, "", @SW_SHOW)
            WinSetState($ComplexHwd7, "", @SW_SHOW)
            WinSetState($ComplexHwd8, "", @SW_SHOW)
            WinSetState($ComplexHwd9, "", @SW_SHOW)
            ProgressSet(100)
        Next
        Sleep(250)
        ProgressOff()
        GUICtrlSetData($vislabel, "All Windows are Restored")
    EndIf
EndFunc   ;==>RestoreAll
Func Help()
    If $InuseHelp = True Then
        Return
    EndIf
    $InuseHelp = Not $InuseHelp
    $subchild = GUICreate("Instructions", 400, 170, -1, -1, -1, -1, $mainfrm)
    $maintab = GUICtrlCreateTab(3, 2, 394, 165)
    $maintabitem = GUICtrlCreateTabItem("Mode")
    $editmode = GUICtrlCreateEdit("", 8, 26, 385, 134, $WS_VSCROLL + $WS_BORDER + $WS_HSCROLL + $ES_READONLY)
    $maintabitem1 = GUICtrlCreateTabItem("Steps")
    $editSteps = GUICtrlCreateEdit("", 8, 26, 385, 134, $WS_VSCROLL + $WS_BORDER + $WS_HSCROLL + $ES_READONLY)
    $maintabitem2 = GUICtrlCreateTabItem("Extras")
    $editextras = GUICtrlCreateEdit("", 8, 26, 385, 134, $WS_VSCROLL + $WS_BORDER + $WS_HSCROLL + $ES_READONLY)
    $maintabitem3 = GUICtrlCreateTabItem("Hotkeys")
    $edithotkeys = GUICtrlCreateEdit("", 8, 26, 385, 134, $WS_VSCROLL + $WS_BORDER + $WS_HSCROLL + $ES_READONLY)
    GUICtrlSetData($editmode, "Single Mode - Hide one window only and uses Real Window as default" & @CRLF & "Example:" & @CRLF & "When you hit Hotkey, Real Window will hide, and you hit again, Real window will show" & @CRLF & _
            "Double Mode - Switches between two windows on user's command" & @CRLF & "Example:" & @CRLF & "When you hit Hokey, Real Window will hide and fake window will show" & @CRLF & "When you hit again real window will show fake window will hide." & @CRLF & _
            "Simple Mode - Hide the current active window on user's command" & @CRLF & "Example:" & @CRLF & "When you hit hotkey, the current active window will hide, when you hit hotkey again, the window you hid will show" & @CRLF & _
            "Complex Mode - Hide up to 9 Windows" & @CRLF & "Example:" & @CRLF & "Read Hotkey Section")
    GUICtrlSetData($editSteps, "0.Choose mode" & @CRLF & "1.Set Windows" & @CRLF & "2.Enable Hide Hotkey" & @CRLF & "3.Hit Hotkey, procedure begins")
    GUICtrlSetData($editextras, "*Toggle Hide to enable or disable hide hotkey for Hider Pro - Hotkey is F9" & @CRLF & "*Process Suspend uses current active as Default - F7 if Enabled" & @CRLF & _
            "*Toggle Autoclicker for autoclicker - F8 to Start/Pause Autoclicker" & @CRLF & @TAB & "SpeedControl:" & @CRLF & @TAB & "Numberpad Add to Speed Up Clicking" & @CRLF & @TAB & "Numberpad Subtract to Slowdown Clicking" & @CRLF & "*Transparent only work in Win2000/XP or Later" & @CRLF & _
            "*Process Suspend/Resume will only work on Windows XP, Windows 2003 and Windows Vista" & @CRLF & "*Default Pause/Break button for ScreenSaver")
    GUICtrlSetData($edithotkeys, "F7 - Process Suspension if Enabled" & @CRLF & "F8 - Autoclicker speed controlled" & @CRLF & @TAB & "SpeedControl:" & @CRLF & @TAB & "Numberpad Add to Speed Up Clicking" & @CRLF & @TAB & "Numberpad Subtract to Slowdown Clicking" & @CRLF & _
            "F9 - Default hide for Hider Pro" & @CRLF & "F10 - Hide/Show window on command - Simple\Double\Single" & @CRLF & "Ctrl+Alt+Shift+R - Set Real Window" & @CRLF & "Ctrl+Alt+Shift+F - Set Fake Window" & @CRLF & "Ctrl+Alt+Shift+C - Check window info" & @CRLF & _
            "Ctrl+Alt+Shift+M - MouseTrap in current active window" & @CRLF & "Ctrl + Numberpad 1-9 Set Windows for Complex Mode" & @CRLF & "Alt + Numberpad 1-9 Hide/Show Windows for Complex Mode" & @CRLF & "Pause\Break - ScreenSaver")
    GUICtrlSetFont($editmode, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($editSteps, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($editextras, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($edithotkeys, 9, 400, 0, "Tahoma")
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
    GUISetOnEvent($GUI_EVENT_CLOSE, "SubHelpDel")
EndFunc   ;==>Help
Func More()
    If $InuseMore = True Then
        Return
    EndIf
    $InuseMore = Not $InuseMore
    $subchildmore = GUICreate("About", 400, 170, -1, -1, -1, -1, $mainfrm)
    $AbtMaintab = GUICtrlCreateTab(3, 2, 394, 165)
    $abouttabitem = GUICtrlCreateTabItem("About")
    $editabout = GUICtrlCreateEdit("", 8, 26, 385, 134, $WS_VSCROLL + $WS_BORDER + $WS_HSCROLL + $ES_READONLY)
    $Featuretab = GUICtrlCreateTabItem("Features")
    $editFeature = GUICtrlCreateEdit("", 8, 26, 385, 134, $WS_VSCROLL + $WS_BORDER + $WS_HSCROLL + $ES_READONLY)
    $credittabitem = GUICtrlCreateTabItem("Credits")
    $editcredits = GUICtrlCreateEdit("", 8, 26, 385, 134, $WS_VSCROLL + $WS_BORDER + $WS_HSCROLL + $ES_READONLY)
    GUICtrlSetData($editabout, "Version - Hider Pro v.080")
    GUICtrlSetData($editFeature, "v.010 New Features:" & @CRLF & "- Single and Double Mode for a better use and wider range" & @CRLF & "- Process Manager in Smaller Size" & @CRLF & _
            "- Transparent Set" & @CRLF & "- SetOnTop Option" & @CRLF & "- Restore on Exit to prevent lost of use to Window" & @CRLF & "v.015 New Features:" & @CRLF & "- Process Suspend/Resume" & @CRLF & "- Speed Controlled AutoClicker" & @CRLF & _
            "v.020 New Features:" & @CRLF & "- Manual Process Suspend/Resume" & @CRLF & "- Manual Windows Transparency" & @CRLF & "- Manual Windows Title setting" & @CRLF & "- Overall GUI changed" & @CRLF & "v.025 New Features:" & @CRLF & _
            "- MouseTrap in current active window" & @CRLF & "v.30 New Features:" & @CRLF & "- Used Winhandle to prevent unwanted unfunctional functions after title changed" & @CRLF & "- Fixed MouseTrap bug" & @CRLF & _
            "v.035 New Features:" & @CRLF & "- Fixed Winhandle bug" & @CRLF & "- Changed Process Suspension for a better use" & @CRLF & "- Disabled useless button" & @CRLF & "v.065 New Features:" & @CRLF & "- Simple Mode for easier use" & @CRLF & _
            "- Complex Mode for better use" & @CRLF & "- ScreenSaver to disguise" & @CRLF & "- Fixed Mode Error" & @CRLF & "v.070 New Features:" & @CRLF & "- Added Run Function" & @CRLF & "v.80 New Features:" & @CRLF & _
            "- Fixed lost of window if set window while previous window is hidden" & @CRLF & "- Added Password protection, if wrong password then NOP")
    GUICtrlSetData($editcredits, "Credits goes to:" & @CRLF & "Binary: 01000001 01101100 01101100 00100000 01000001 01110101 01110100 01101111 01001001 01110100 00100000 01000110 01101111 01110010 01110101 01101101 00100000 01010101 01110011 01100101 01110010 01110011" & @CRLF & _
            "Hex: 41 6c 6c 20 41 75 74 6f 49 74 20 46 6f 72 75 6d 20 55 73 65 72 73" & @CRLF & "" & @CRLF & "Thanks for using and supporting The Hider.")
    GUICtrlSetFont($editabout, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($editFeature, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($editcredits, 9, 400, 0, "Tahoma")
    GUISetOnEvent($GUI_EVENT_CLOSE, "SubAboutDel")
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
EndFunc   ;==>More
Func ManualTrans()
    If $InuseTrans = True Then
        Return
    EndIf
    $InuseTrans = Not $InuseTrans
    $subtrans = GUICreate("Manual Transparency Setting", 300, 115, -1, -1, -1, -1, $mainfrm)
    $subtranslabel = GUICtrlCreateLabel("Title of the Window:", -1, 2, 130, 20, $SS_CENTER)
    $subtranstitle = GUICtrlCreateInput("", 130, 3, 167, 20)
    $subtransinvi = GUICtrlCreateLabel("Invisible", 1, 28, 70, 20, $SS_CENTER)
    $subtranssolid = GUICtrlCreateLabel("Solid", 240, 28, 60, 20, $SS_CENTER)
    $subtransslider = GUICtrlCreateSlider(4, 48, 290, 28)
    $convert = GUICtrlCreateButton("Convert", 105, 83, 90, 30, $BS_CENTER + $BS_VCENTER)
    GUICtrlSetFont($subtranslabel, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($subtransinvi, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($subtranssolid, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($convert, 9, 400, 0, "Tahoma")
    GUICtrlSetLimit($subtranstitle, 200, -1)
    GUICtrlSetLimit($subtransslider, 100, 0)
    GUICtrlSetData($subtransslider, 50)
    GUISetOnEvent($GUI_EVENT_CLOSE, "SubTransDel")
    GUICtrlSetOnEvent($convert, "Convert")
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
EndFunc   ;==>ManualTrans
Func Convert()
    Local $Exist, $Data, $Value
    $Data = GUICtrlRead($subtranstitle)
    $ValueMult = GUICtrlRead($subtransslider)
    $Value = $ValueMult * 2.55
    $Exist = WinExists($Data)
    If $Exist = 0 Or $Data = "" Then
        MsgBox(64, "Error has Occured", "Please type in the correct title or make sure window exists")
        Return
    Else
        WinSetTrans($Data, "", $Value)
    EndIf
EndFunc   ;==>Convert
Func ManualTitle()
    If $InuseTitle = True Then
        Return
    EndIf
    $InuseTitle = Not $InuseTitle
    $subtitle = GUICreate("Manual Title Setting", 300, 82, -1, -1, -1, -1, $mainfrm)
    $subtitlelabel = GUICtrlCreateLabel("Title of the Window:", -1, 2, 150, 20, $SS_CENTER)
    $subtitlechange = GUICtrlCreateInput("", 150, 3, 140, 20)
    $subchangelabel = GUICtrlCreateLabel("Name to Change To:", 1, 25, 150, 20, $SS_CENTER)
    $subchangeinput = GUICtrlCreateInput("", 150, 26, 140, 20)
    $Changebutton = GUICtrlCreateButton("Change Caption", 90, 50, 120, 30, $BS_CENTER + $BS_VCENTER)
    GUICtrlSetLimit($subtitlechange, 200, -1)
    GUICtrlSetLimit($subchangeinput, 200, -1)
    GUICtrlSetFont($subtitlelabel, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($subchangelabel, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($Changebutton, 9, 400, 0, "Tahoma")
    GUISetOnEvent($GUI_EVENT_CLOSE, "SubTitleDel")
    GUICtrlSetOnEvent($Changebutton, "ChangeCaption")
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
EndFunc   ;==>ManualTitle
Func ChangeCaption()
    Local $Exist, $Title, $ChangeTitle
    $Title = GUICtrlRead($subtitlechange)
    $ChangeTitle = GUICtrlRead($subchangeinput)
    $Exist = WinExists($Title)
    If $Exist = 0 Or $ChangeTitle = "" Then
        MsgBox(64, "Error has occured", "Please type in correct title or make sure window exists")
        Return
    Else
        WinSetTitle($Title, "", $ChangeTitle)
    EndIf
EndFunc   ;==>ChangeCaption
Func ManualProcess()
    If $InuseProcess = True Then
        Return
    EndIf
    $InuseProcess = Not $InuseProcess
    $subprocess = GUICreate("Manual Process Suspension", 263, 110, -1, -1, -1, -1, $mainfrm)
    $subprosup = GUICtrlCreateLabel("Process name to Suspend:", 2, 2, 170, 30)
    $subprorsm = GUICtrlCreateLabel("Process name to Resume:", 2, 55, 170, 30)
    $EditSuspend = GUICtrlCreateInput("", 2, 32, 165, 20)
    $EditResume = GUICtrlCreateInput("", 2, 85, 165, 20)
    $SuspendButton = GUICtrlCreateButton("Suspend", 170, 18, 90, 30, $BS_CENTER + $BS_VCENTER)
    $ResumeButton = GUICtrlCreateButton("Resume", 170, 75, 90, 30, $BS_CENTER + $BS_VCENTER)
    GUICtrlSetLimit($EditSuspend, 60, -1)
    GUICtrlSetLimit($EditResume, 60, -1)
    GUICtrlSetFont($subprosup, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($subprorsm, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($SuspendButton, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($ResumeButton, 9, 400, 0, "Tahoma")
    GUICtrlSetOnEvent($SuspendButton, "ManualSuspend")
    GUICtrlSetOnEvent($ResumeButton, "ManualResume")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Subprodel")
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
EndFunc   ;==>ManualProcess
Func ManualSuspend()
    $SProcessName = GUICtrlRead($EditSuspend)
    $Process = _MProcessSuspend($SProcessName)
    If $Process = 0 Or @error = 1 Or @error = 2 Then
        MsgBox(64, "Error Occured", "Process Cannot be Suspend Due to 1 of the reasons:" & @CRLF & "1.Cannot call kernel32.dll or ntdll.dll" & @CRLF & "2.Process do not Exist or not Found" & @CRLF & _
                "3.External Program Error", 3)
        Return
    EndIf
EndFunc   ;==>ManualSuspend
Func ManualResume()
    $RProcessName = GUICtrlRead($EditResume)
    $Process = _MProcessResume($RProcessName)
    If $Process = 0 Or @error = 1 Or @error = 2 Then
        MsgBox(64, "Error Occured", "Process Cannot be Suspend Due to 1 of the reasons:" & @CRLF & "1.Cannot call kernel32.dll or ntdll.dll" & @CRLF & "2.Process do not Exist or not Found" & @CRLF & _
                "3.External Program Error", 3)
        Return
    EndIf
EndFunc   ;==>ManualResume
Func _MProcessSuspend($SProcessName)
    $SProcessPid = ProcessExists($SProcessName)
    If $SProcessPid Then
        $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $SProcessPid)
        $i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_Handle[0])
        DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
        If IsArray($i_sucess) Then
            Return 1
        Else
            SetError(1)
            Return 0
        EndIf
    Else
        SetError(2)
        Return 0
    EndIf
EndFunc   ;==>_MProcessSuspend
Func _MProcessResume($RProcessName)
    $RProcessPid = ProcessExists($RProcessName)
    If $RProcessPid Then
        $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $RProcessPid)
        $i_sucess = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ai_Handle[0])
        DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
        If IsArray($i_sucess) Then
            Return 1
        Else
            SetError(1)
            Return 0
        EndIf
    Else
        SetError(2)
        Return 0
    EndIf
EndFunc   ;==>_MProcessResume
Func Single()
    If $Mode = "None" Then
        GUICtrlSetState($singlemode, $GUI_DISABLE)
        $Mode = "Single"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Double" Then
        GUICtrlSetState($doublemode, $GUI_ENABLE)
        GUICtrlSetState($singlemode, $GUI_DISABLE)
        $Mode = "Single"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Simple" Then
        GUICtrlSetState($simplemode, $GUI_ENABLE)
        GUICtrlSetState($singlemode, $GUI_DISABLE)
        $Mode = "Single"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Complex" Then
        GUICtrlSetState($complexmode, $GUI_ENABLE)
        GUICtrlSetState($singlemode, $GUI_DISABLE)
        $Mode = "Single"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    EndIf
    Return $Mode
EndFunc   ;==>Single
Func Double()
    If $Mode = "None" Then
        GUICtrlSetState($doublemode, $GUI_DISABLE)
        $Mode = "Double"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Single" Then
        GUICtrlSetState($singlemode, $GUI_ENABLE)
        GUICtrlSetState($doublemode, $GUI_DISABLE)
        $Mode = "Double"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Simple" Then
        GUICtrlSetState($simplemode, $GUI_ENABLE)
        GUICtrlSetState($doublemode, $GUI_DISABLE)
        $Mode = "Double"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Complex" Then
        GUICtrlSetState($complexmode, $GUI_ENABLE)
        GUICtrlSetState($doublemode, $GUI_DISABLE)
        $Mode = "Double"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    EndIf
    Return $Mode
EndFunc   ;==>Double
Func Simple()
    If $Mode = "None" Then
        GUICtrlSetState($simplemode, $GUI_DISABLE)
        $Mode = "Simple"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Double" Then
        GUICtrlSetState($doublemode, $GUI_ENABLE)
        GUICtrlSetState($simplemode, $GUI_DISABLE)
        $Mode = "Simple"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Single" Then
        GUICtrlSetState($singlemode, $GUI_ENABLE)
        GUICtrlSetState($simplemode, $GUI_DISABLE)
        $Mode = "Simple"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Complex" Then
        GUICtrlSetState($complexmode, $GUI_ENABLE)
        GUICtrlSetState($simplemode, $GUI_DISABLE)
        $Mode = "Simple"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    EndIf
    Return $Mode
EndFunc   ;==>Simple
Func Complex()
    If $Mode = "None" Then
        GUICtrlSetState($complexmode, $GUI_DISABLE)
        $Mode = "Complex"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Double" Then
        GUICtrlSetState($doublemode, $GUI_ENABLE)
        GUICtrlSetState($complexmode, $GUI_DISABLE)
        $Mode = "Complex"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Simple" Then
        GUICtrlSetState($simplemode, $GUI_ENABLE)
        GUICtrlSetState($complexmode, $GUI_DISABLE)
        $Mode = "Complex"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    ElseIf $Mode = "Single" Then
        GUICtrlSetState($singlemode, $GUI_ENABLE)
        GUICtrlSetState($complexmode, $GUI_DISABLE)
        $Mode = "Complex"
        GUICtrlSetState($HotkeyEnDis, $GUI_ENABLE)
    EndIf
    Return $Mode
EndFunc   ;==>Complex
Func CheckCurrent()
    Local $CurrentTitle, $CurrentName, $CurrentPid
    If $InuseCheck = True Then
        Return
    EndIf
    $InuseCheck = Not $InuseCheck
    $CurrentTitle = WinGetTitle("", "")
    $CurrentPid = WinGetProcess($CurrentTitle)
    $CurrentName = _ProcessGetName($CurrentPid)
    $subcheck = GUICreate("Windows Info", 300, 125, -1, -1, -1, -1, $mainfrm)
    $subwinlabel = GUICtrlCreateLabel("Title of the Window:", 2, 2, 125, 30)
    $subprolabel = GUICtrlCreateLabel("Process name:", 2, 35, 125, 30)
    $subpropid = GUICtrlCreateLabel("Pid of the Process:", 2, 68, 125, 30)
    $subwinedit = GUICtrlCreateEdit("", 130, 3, 165, 20, $WS_BORDER + $ES_READONLY)
    $subproedit = GUICtrlCreateEdit("", 130, 35, 165, 20, $WS_BORDER + $ES_READONLY)
    $subpidedit = GUICtrlCreateEdit("", 130, 68, 165, 20, $WS_BORDER + $ES_READONLY)
    $copybutton = GUICtrlCreateButton("Copy title to Clipboard", 50, 92, 200, 30, $BS_CENTER + $BS_VCENTER)
    GUICtrlSetData($subwinedit, $CurrentTitle)
    GUICtrlSetData($subproedit, $CurrentName)
    GUICtrlSetData($subpidedit, $CurrentPid)
    GUICtrlSetLimit($subwinedit, 100, -1)
    GUICtrlSetFont($subprolabel, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($subwinlabel, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($subpropid, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($subwinedit, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($subproedit, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($subpidedit, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($copybutton, 9, 400, 0, "Tahoma")
    GUICtrlSetOnEvent($copybutton, "Copy")
    GUISetOnEvent($GUI_EVENT_CLOSE, "subcheckdel")
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
EndFunc   ;==>CheckCurrent
Func Copy()
    Local $ReadData
    $ReadData = GUICtrlRead($subwinedit)
    ClipPut($ReadData)
EndFunc   ;==>Copy
Func ToggleAC()
    $HotKeyToggleAC = Not $HotKeyToggleAC
    If $HotKeyToggleAC = True Then
        HotKeySet("{F8}", "AutoClicker")
        HotKeySet("{NUMPADADD}", "SleepMinus")
        HotKeySet("{NUMPADSUB}", "SleepPlus")
        GUICtrlSetData($menuoptitem1, "Disable AutoClicker")
    Else
        HotKeySet("{F8}")
        HotKeySet("{NUMPADADD}")
        HotKeySet("{NUMPADSUB}")
        GUICtrlSetData($menuoptitem1, "Enable AutoClicker")
    EndIf
EndFunc   ;==>ToggleAC
Func AutoClicker()
    $ACBoolean = Not $ACBoolean
    While $ACBoolean = True
        MouseClick("left")
        Sleep($Sleep)
    WEnd
EndFunc   ;==>AutoClicker
Func SleepPlus()
    $Sleep = $Sleep + 50
    If $Sleep >= 1000 Then
        $Sleep = 1000
    EndIf
EndFunc   ;==>SleepPlus
Func SleepMinus()
    $Sleep = $Sleep - 50
    If $Sleep <= 10 Then
        $Sleep = 10
    EndIf
EndFunc   ;==>SleepMinus
Func ToggleProcess()
    $ProcessSuspend = Not $ProcessSuspend
    If $ProcessSuspend = True Then
        $Warning = MsgBox(4 + 48, "Warning", "Are you sure you want to enable this option? Doing so may cause system unstability and unwanted data loss or unnecessary lagness! Continue?")
        If $Warning = 6 Then
            GUICtrlSetData($menuoptitem2, "Disable Process Suspend")
            HotKeySet("{F7}", "ProcessSuspend")
            Return $ProcessSuspend
        Else
            $ProcessSuspend = Not $ProcessSuspend
        EndIf
    Else
        $WarningTwo = MsgBox(4 + 48, "Warning", "Are you sure you want to disable this option? Doing so may cause system unstability and unwanted data loss or unnecessary lagness! Continue?")
        If $WarningTwo = 6 Then
            GUICtrlSetData($menuoptitem2, "Enable Process Suspend")
            HotKeySet("{F7}")
            Return $ProcessSuspend
        Else
            $ProcessSuspend = Not $ProcessSuspend
        EndIf
    EndIf
EndFunc   ;==>ToggleProcess
Func ProcessSuspend()
    Local $Title, $Process
    Local $Winlist = WinList()
    $ProcessBoolean = Not $ProcessBoolean
    If $ProcessBoolean = True Then
        For $i = 1 To $Winlist[0][0]
            If WinActive($Winlist[$i][0]) Then
                $Title = $Winlist[$i][0]
            EndIf
        Next
        $ProcessPid = WinGetProcess($Title, "")
        $ProcessName = _ProcessGetName($ProcessPid)
        $Process = _ProcessSuspend($ProcessName)
        If $Process = 0 Or @error = 1 Then
            MsgBox(64, "Error Occured", "Process Cannot be Suspend Due to 1 of the reasons:" & @CRLF & "1.Cannot call kernel32.dll or ntdll.dll" & @CRLF & "2.External Program Error", 3)
            Return
        Else
            GUICtrlSetData($vislabel, "Process Suspened Successfully")
            Return $ProcessName
        EndIf
    Else
        $Process = _ProcessResume($ProcessName)
        If $Process = 0 Or @error = 1 Then
            MsgBox(64, "Error Occured", "Process Cannot be Suspend Due to 1 of the reasons:" & @CRLF & "1.Cannot call kernel32.dll or ntdll.dll" & @CRLF & "2.External Program Error" & @CRLF & _
                    "3.Process do not exists", 3)
            Return
        Else
            GUICtrlSetData($vislabel, "Process Resumed Successfully")
        EndIf
    EndIf
EndFunc   ;==>ProcessSuspend
Func _ProcessSuspend($ProcessName)
    Local $Pid
    $Pid = ProcessExists($ProcessName)
    If $Pid Then
        $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $Pid)
        $i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_Handle[0])
        DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
        If IsArray($i_sucess) Then
            Return 1
        Else
            SetError(1)
            Return 0
        EndIf
    EndIf
EndFunc   ;==>_ProcessSuspend
Func _ProcessResume($ProcessName)
    Local $Pid
    $Pid = ProcessExists($ProcessName)
    If $Pid Then
        $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $Pid)
        $i_sucess = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ai_Handle[0])
        DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
        If IsArray($i_sucess) Then
            Return 1
        Else
            SetError(1)
            Return 0
        EndIf
    EndIf
EndFunc   ;==>_ProcessResume
Func SubHelpDel()
    $InuseHelp = Not $InuseHelp
    GUIDelete($subchild)
EndFunc   ;==>SubHelpDel
Func SubAboutDel()
    $InuseMore = Not $InuseMore
    GUIDelete($subchildmore)
EndFunc   ;==>SubAboutDel
Func SubTransDel()
    $InuseTrans = Not $InuseTrans
    GUIDelete($subtrans)
EndFunc   ;==>SubTransDel
Func SubTitleDel()
    $InuseTitle = Not $InuseTitle
    GUIDelete($subtitle)
EndFunc   ;==>SubTitleDel
Func SubCheckDel()
    $InuseCheck = Not $InuseCheck
    GUIDelete($subcheck)
EndFunc   ;==>SubCheckDel
Func Subprodel()
    $InuseProcess = Not $InuseProcess
    GUIDelete($subprocess)
EndFunc   ;==>Subprodel
Func SetComplex1()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd1 <> "0x00000000" Then
        WinSetState($ComplexHwd1, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd1 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd1
EndFunc   ;==>SetComplex1
Func SetComplex2()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd2 <> "0x00000000" Then
        WinSetState($ComplexHwd2, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd2 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd2
EndFunc   ;==>SetComplex2
Func SetComplex3()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd3 <> "0x00000000" Then
        WinSetState($ComplexHwd3, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd3 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd3
EndFunc   ;==>SetComplex3
Func SetComplex4()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd4 <> "0x00000000" Then
        WinSetState($ComplexHwd4, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd4 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd4
EndFunc   ;==>SetComplex4
Func SetComplex5()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd5 <> "0x00000000" Then
        WinSetState($ComplexHwd5, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd5 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd5
EndFunc   ;==>SetComplex5
Func SetComplex6()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd6 <> "0x00000000" Then
        WinSetState($ComplexHwd6, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd6 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd6
EndFunc   ;==>SetComplex6
Func SetComplex7()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd7 <> "0x00000000" Then
        WinSetState($ComplexHwd7, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd7 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd7
EndFunc   ;==>SetComplex7
Func SetComplex8()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd8 <> "0x00000000" Then
        WinSetState($ComplexHwd8, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd8 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd8
EndFunc   ;==>SetComplex8
Func SetComplex9()
    If $Mode <> "Complex" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    If $ComplexHwd9 <> "0x00000000" Then
        WinSetState($ComplexHwd9, "", @SW_SHOW)
    EndIf
    Local $Winlist = WinList()
    For $i = 1 To $Winlist[0][0]
        If WinActive($Winlist[$i][1]) Then
            $ComplexHwd9 = $Winlist[$i][1]
        EndIf
    Next
    Return $ComplexHwd9
EndFunc   ;==>SetComplex9
Func HideComplex1()
    $ComplexBool1 = Not $ComplexBool1
    If $ComplexBool1 = True Then
        WinSetState($ComplexHwd1, "", @SW_HIDE)
    Else
        WinSetState($ComplexHwd1, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex1
Func HideComplex2()
    $ComplexBool2 = Not $ComplexBool2
    If $ComplexBool2 = True Then
        WinSetState($ComplexHwd2, "", @SW_HIDE)
    Else
        WinSetState($ComplexHwd2, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex2
Func HideComplex3()
    $ComplexBool3 = Not $ComplexBool3
    If $ComplexBool3 = True Then
        WinSetState($ComplexHwd3, "", @SW_HIDE)
    Else
        WinSetState($ComplexHwd3, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex3
Func HideComplex4()
    $ComplexBool4 = Not $ComplexBool4
    If $ComplexBool4 = True Then
        WinSetState($ComplexHwd4, "", @SW_HIDE)
    Else
        WinSetState($ComplexHwd4, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex4
Func HideComplex5()
    $ComplexBool5 = Not $ComplexBool5
    If $ComplexBool5 = True Then
        WinSetState($ComplexHwd5, "", @SW_HIDE)
    Else    
        WinSetState($ComplexHwd5, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex5
Func HideComplex6()
    $ComplexBool6 = Not $ComplexBool6
    If $ComplexBool6 = True Then
        WinSetState($ComplexHwd6, "", @SW_HIDE)
    Else
        WinSetState($ComplexHwd6, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex6
Func HideComplex7()
    $ComplexBool7 = Not $ComplexBool7
    If $ComplexBool7 = True Then
        WinSetState($ComplexHwd7, "", @SW_HIDE)
    Else
        WinSetState($ComplexHwd7, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex7
Func HideComplex8()
    $ComplexBool8 = Not $ComplexBool8
    If $ComplexBool8 = True Then
        WinSetState($ComplexHwd8, "", @SW_HIDE)
    Else
        WinSetState($ComplexHwd8, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex8
Func HideComplex9()
    $ComplexBool9 = Not $ComplexBool9
    If $ComplexBool9 = True Then
        WinSetState($ComplexHwd9, "", @SW_HIDE)
    Else    
        WinSetState($ComplexHwd9, "", @SW_SHOW)
    EndIf
EndFunc   ;==>HideComplex9
Func SetSimpleWin()
    If $Mode <> "Simple" Then
        MsgBox(64, "Mode Error", "Please reset your mode", 3)
        Return
    EndIf
    $SimpleBool = Not $SimpleBool
    If $SimpleBool = True Then
        Local $Winlist = WinList()
        For $i = 1 To $Winlist[0][0]
            If WinActive($Winlist[$i][1]) Then
                $SimpleHwd = $Winlist[$i][1]
            EndIf
        Next
        WinSetState($SimpleHwd, "", @SW_HIDE)
        Return $SimpleHwd
    Else
        WinSetState($SimpleHwd, "", @SW_SHOW)
    EndIf
EndFunc   ;==>SetSimpleWin
Func ScreenSaver()
    ShellExecute($RegRead)
EndFunc   ;==>ScreenSaver
Func RunCmd()
    ShellExecute("cmd")
EndFunc   ;==>RunCmd
Func RunRegedit()
    ShellExecute("regedit")
EndFunc   ;==>RunRegedit
Func Runmsconfig()
    ShellExecute("msconfig")
EndFunc   ;==>Runmsconfig
Func Runhelp()
    ShellExecute("helpctr")
EndFunc   ;==>Runhelp
Func _PasswordGUI()
    If $Inuse = True Then Return
    $Inuse = Not $Inuse
    $passwordfrm = GUICreate("Password Protection", 400, 60, -1, -1, -1, -1, $mainfrm)
    $label1 = GUICtrlCreateLabel("Type Password: ", 1, 1, 120, 20, $SS_CENTER)
    $label2 = GUICtrlCreateLabel("Confirm Password: ", 1, 32, 120, 20, $SS_CENTER)
    $string1 = GUICtrlCreateInput("", 121, 3, 210, 20, $ES_PASSWORD)
    $string2 = GUICtrlCreateInput("", 121, 32, 210, 20, $ES_PASSWORD)
    $setbutton = GUICtrlCreateButton("SET", 336, 3, 60, 51, $BS_VCENTER)
    GUICtrlSetFont($label1, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($label2, 11, 400, 0, "Tahoma")
    GUICtrlSetFont($string1, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($string2, 9, 400, 0, "Tahoma")
    GUICtrlSetFont($setbutton, 11, 400, 0, "Tahoma")
    GUICtrlSetOnEvent($setbutton, "_SetPassword")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Subdel")
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
EndFunc   ;==>_PasswordGUI
Func Subdel()
    $Inuse = Not $Inuse
    GUIDelete($passwordfrm)
EndFunc   ;==>Subdel
Func _PasswordChk()
    If StringLen(GUICtrlRead($string1)) <> StringLen(GUICtrlRead($string2)) Then
        MsgBox(64, "Password Check", "Please confirm both of your password")
        Return
    ElseIf GUICtrlRead($string1) <> GUICtrlRead($string2) Then
        MsgBox(64, "Password Check", "Please confirm both of your password")
        Return
    EndIf
    Return GUICtrlRead($string2)
EndFunc   ;==>_PasswordChk
Func _SetPassword()
    Local $ButtonPos = WinGetPos($passwordfrm, "")
    If IsNumber(_PasswordChk()) = 0 Then
        $password = GUICtrlRead($string2)
        ToolTip("Password was set, please remember", $ButtonPos[0] + 370, $ButtonPos[1] + 55, "Result", 1, -1)
        Sleep(1500)
        ToolTip("")
        Return $password
    Else
        ToolTip("Password was not set, error occured", $ButtonPos[0] + 370, $ButtonPos[1] + 55, "Result", 1, -1)
        Sleep(1500)
        ToolTip("")
    EndIf
EndFunc   ;==>_SetPassword
Func _InputPassword()
    If $InputInuse = True Then Return
    $InputInuse = Not $InputInuse
    $InputGUI = GUICreate("Please Input Password", 200, 40, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST + $WS_EX_TOOLWINDOW, $mainfrm)
    $Inputpw = GUICtrlCreateInput("", 5, 10, 185, 20, $ES_PASSWORD)
    GUISetFont(9, 400, 0, "Tahoma")
    GUISetState()
EndFunc   ;==>_InputPassword
Func _InputDelete()
    $InputInuse = Not $InputInuse
    GUIDelete($InputGUI)
EndFunc   ;==>_InputDelete
Func _PasswordPass()
    If $PasswordInuse = True Then
        _InputPassword()
        Do
            If GUICtrlRead($Inputpw) = $password Then
                _InputDelete()
            Else
                Sleep(10)
            EndIf
        Until $InputInuse = False
    EndIf
EndFunc   ;==>_PasswordPass

Edited by Generator
Link to comment
Share on other sites

that's just plain old mean........... :mad:

Nothing will ever beat Andrew's Anti Snooping Tool!!!!!!

Anything better to say?

Anyways i would like to share this, not many functions.

Just test it out and leave some comments. I mostly use this in school anyways.

But yeh school is over :rolleyes::x:rambo:

Link to comment
Share on other sites

that's just plain old mean........... :rolleyes:

Nothing will ever beat Andrew's Anti Snooping Tool!!!!!!

edit:

also it won't let me set a hotkey........

As i said, it's just plain simple. you can edit and update the code for your own need if you wish, but then i choose the best hotkeys.

btw, i just checked out your AAST again, you didn't give any credits to anything at about. What a shame, like you made whole thing from scratch. Anyways feel free to leave any comments.

Link to comment
Share on other sites

oooooooooo shiiiiiiiiiiiit thanks for reminding me lmao. honestly i didn't mean to not include credits, i included the credits in my post. i'll add them to the about now. (Your credits are in binary and hex..... lol like anyone knows how to read that)

btw gj on the GUI :rolleyes:. i suck at GUIs, i have like no experience with them, i'm just good at logic. I've been trying to implement better GUIs for a while, i'm almost done.

also, what's the point of autoclicker, mousetrap and all the executes? And why when i try to activate anything, it only works on the program but not on any other windows lol?

Link to comment
Share on other sites

oooooooooo shiiiiiiiiiiiit thanks for reminding me lmao. honestly i didn't mean to not include credits, i included the credits in my post. i'll add them to the about now. (Your credits are in binary and hex..... lol like anyone knows how to read that)

btw gj on the GUI :rolleyes:. i suck at GUIs, i have like no experience with them, i'm just good at logic. I've been trying to implement better GUIs for a while, i'm almost done.

also, what's the point of autoclicker, mousetrap and all the executes? And why when i try to activate anything, it only works on the program but not on any other windows lol?

Um? The credits are in Bin and Hex because I put this in our school district student driver, and teacher may find out, only our programming teacher will be interested, so i am not bothering with it.

Since we do many stuff at our school's computer, general gaming, school work. Something i just feel like adding in.

I am not sure about what you mean

by but not on any other windows

. Well i am not gonna bother with that, it's opened source, you can see it should work at other windows.
Link to comment
Share on other sites

  • 2 weeks later...

Transparency is how much you can see trough something. If its "75% Transparent" it should be pretty hard to see where as "10% Transparent" should be 90% visible not 90% invisible.

Thanks for the source allot I can learn from there.

AutoIt changed my life.

Link to comment
Share on other sites

  • 3 years later...

It's not working man

something wrong with line 105 !

I'm so newbie to edit it myself :huh2:(

but i need this program so much

Because its almost 4 years since its last update, and probably later autoit versions broke script.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...