Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <WinApi.au3>
- #include <WinAPISysWin.au3>
- #include <WindowsConstants.au3>
- #include <Clipboard.au3>
- #include <Array.au3>
- #include <String.au3>
- #include <Misc.au3>
- ; THIS IS MY MAIN AUTOIT BACKGROUND PROCESS SCRIPT TO DO VARIOUS IMPORTANT THINGS :)
- ; IT ALLOWS FOR PINNING WINDOWS TO TOP, FIXING STUPID YOUTUBE KEYBINDINGS THAT F-UP...
- ; AND DISPLAYS CRYPTO PRICES (CURRENTLY JUST MONERO AND BITCOIN)
- ; **NOTE** DELETE THE MOUSEPROC STUFF - THAT'S JUST TO FIX MY STUPID BUGGY MOUSE WHEEL THAT STICKS
- HotKeySet("`", "PinWindow") ; TILDA KEY KEEPS CURRENT WINDOW ON TOP
- HotKeySet("{APPSKEY}", "YouTube_Keymap") ; THE MENU KEY (NEXT TO RIGHT-CTRL) FORCES THE YOUTUBE KEYBINDINGS TO WORK
- HotKeySet("^!b", "CoinPrice") ; CTRL-ALT-B WILL SHOW THE CURRENT COIN PRICE
- HotKeySet("^!n", "DollarToCoin") ; ENTER YOUR AMOUNT OF DOLLARS TO CONVERT TO CURRENT COIN
- HotKeySet("^!m", "CoinToDollar") ; COIN TO DOLLARS
- HotKeySet("^!s", "SwitchCoin") ; SWITCHES WHAT COIN IS CURRENTLY ACTIVE
- HotKeySet("^!g", "GmailSelectAll") ; MASS DELETE EMAILS IN GMAIL HTML MODE (HTML GMAIL DOESN'T HAVE A BUTTON TO SELECT ALL)
- Global Const $MSLLHOOKSTRUCT = $tagPOINT & ";dword mouseData;dword flags;dword time;ulong_ptr dwExtraInfo"
- Global $hHook, $n, $delay = 2000
- Local $hFunc, $pFunc, $hMod
- Local Const $YT_WINDOW = "- YouTube"
- Local $toggle = False
- Local $YTtoggle = False
- Local $currentCoin = "Bitcoin"
- ; FIXES THE STUPID MIDDLE MOUSE BUTTON PROBLEM - ANOTHER USER - DELETE IT
- $hFunc = DllCallbackRegister('_MouseProc', 'long', 'int;wparam;lparam')
- $pFunc = DllCallbackGetPtr($hFunc)
- $hMod = _WinAPI_GetModuleHandle(0)
- $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, $pFunc, $hMod)
- ; GMAIL HTML MODE SELECT ALL
- ; ==========================
- Func GmailSelectAll()
- Local $count = Number(InputBox("Gmail Selector", "This will select many emails in HTML mode gmail. How many emails do you want to select?", "99"))
- MsgBox(64, "Gmail Selector", "After pressing OK, quickly check off the first email in the list.")
- Local $i = 0
- Sleep(4000)
- For $i = 1 To $count
- Send("{TAB}")
- Sleep(16)
- Send("{TAB}")
- Sleep(16)
- Send("{SPACE}")
- Sleep(16)
- Next
- MsgBox(64, "Gmail Selector", "DONE!")
- EndFunc
- ; BITCOIN PRICE STUFF
- ; ===================
- Func HttpGet($sURL, $sData = "")
- Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
- $oHTTP.Open("GET", $sURL & "?" & $sData, False)
- If (@error) Then Return SetError(1, 0, 0)
- $oHTTP.Send()
- If (@error) Then Return SetError(2, 0, 0)
- If ($oHTTP.Status <> 200) Then Return SetError(3, 0, 0)
- Return SetError(0, 0, $oHTTP.ResponseText)
- EndFunc
- Func GetPrice()
- Local $thePrice = ""
- If $currentCoin = "Bitcoin" Then
- $thePrice = HttpGet("https://api.cryptowat.ch/markets/coinbase-pro/btcusd/price")
- Else
- $thePrice = HttpGet("https://api.cryptowat.ch/markets/bitfinex/xmrusd/price")
- EndIf
- Local $begining = StringInStr($thePrice, '"price":') + 8
- Local $ending = StringInStr($thePrice, '},')
- Return Int(StringMid($thePrice, $begining, $ending - $begining))
- EndFunc
- Func SwitchCoin()
- Local $oldCoin = $currentCoin
- Local $hWndCoin
- If $currentCoin = "Bitcoin" Then
- $currentCoin = "Monero"
- Else
- $currentCoin = "Bitcoin"
- EndIf
- If WinExists($oldCoin & " Price") Then
- $hWndCoin = WinGetHandle($oldCoin & " Price")
- WinSetTrans($hWndCoin, "", 48)
- WinSetTitle($hWndCoin, "", $currentCoin & " Price")
- Sleep(500)
- WinSetTrans($hWndCoin, "", 255)
- ControlSetText($hWndCoin, "", "Static1", ". . .")
- EndIf
- ToolTip("Current coin is " & $currentCoin, @DesktopWidth / 2, (@DesktopHeight / 2) - 128, "Coin", 1, 2)
- Sleep(1750)
- ToolTip("")
- EndFunc
- Func CoinPrice()
- DispPrice(1, 0)
- EndFunc
- Func DollarToCoin()
- Local $dollars = Number(InputBox("Dollars", "Type in your amount of dollars to convert to " & $currentCoin & ":"))
- If $dollars > 0 Then DispPrice(0, $dollars)
- EndFunc
- Func CoinToDollar()
- Local $coins = Number(InputBox("Enter Coin", "Type in your amount of " & $currentCoin & ":"))
- If $coins > 0 Then DispPrice($coins, 0)
- EndFunc
- Func DispPrice($coins, $dollars)
- Local $price = 0.0
- Local $fontSize = 64
- If $coins <> 1 Then $fontSize = 48
- If $dollars = 0 Then
- $price = GetPrice() * $coins
- Else
- $price = Round($dollars / GetPrice(), 6)
- EndIf
- ClipPut(String($price))
- SplashTextOn($currentCoin & " Price", $price, -1, 128, -1, -1, -1, -1, $fontSize, 700)
- Local $hWnd = WinGetHandle($currentCoin & " Price")
- _WinAPI_EnableWindow($hWnd, True)
- Local $nStyle = _WinAPI_GetWindowLong($hWnd, $GWL_STYLE)
- _WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $nStyle + $WS_SYSMENU)
- _WinAPI_SetWindowPos($hWnd, Null, 0, 0, 0, 0, $SWP_NOSIZE + $SWP_NOMOVE + $SWP_FRAMECHANGED)
- While WinExists($hWnd)
- Sleep(3000)
- If $dollars = 0 Then
- ControlSetText($hWnd, "", "Static1", GetPrice() * $coins)
- Else
- ControlSetText($hWnd, "", "Static1", Round($dollars / GetPrice(), 6))
- EndIf
- WEnd
- SplashOff()
- EndFunc
- ; YOUTUBE KEYBOARD CONTROL BUG FIX
- ; ================================
- Func YouTube_Active()
- Local $sTitle = WinGetTitle("[active]")
- If StringInStr($sTitle, $YT_WINDOW, 1) = 0 Then ; We check if current open window title does NOT end with - YouTube
- $YTtoggle = False
- HotKeySet("{SPACE}")
- HotKeySet("{LEFT}")
- HotKeySet("{RIGHT}")
- Return False
- Else
- Return True
- EndIf
- EndFunc
- Func YouTube_Spacebar()
- If YouTube_Active() = True Then
- Send("k")
- Else
- Send("{SPACE}")
- EndIf
- EndFunc
- Func YouTube_Left()
- If YouTube_Active() = True Then
- Send("j")
- Else
- Send("{LEFT}")
- EndIf
- EndFunc
- Func YouTube_Right()
- If YouTube_Active() = True Then
- Send("l")
- Else
- Send("{RIGHT}")
- EndIf
- EndFunc
- Func YouTube_Keymap()
- Local $sTitle = WinGetTitle("[active]")
- If StringInStr($sTitle, $YT_WINDOW, 1) <> 0 Then ; If the youtube window is open and has focus
- If $YTtoggle = False Then
- $YTtoggle = True
- Sleep(150)
- Send("{ESC}")
- Sleep(50)
- MouseClick($MOUSE_CLICK_LEFT, 750, 500, 1, 4)
- Sleep(250)
- Send("{SPACE}")
- ;ToolTip("The youtube feature is ON.", 350, 350, "Engine", 1)
- ;Sleep(750)
- ;ToolTip("")
- HotKeySet("{SPACE}", "YouTube_Spacebar")
- HotKeySet("{LEFT}", "YouTube_Left")
- HotKeySet("{RIGHT}", "YouTube_Right")
- Else
- $YTtoggle = False
- Sleep(150)
- Send("{ESC}")
- HotKeySet("{SPACE}")
- HotKeySet("{LEFT}")
- HotKeySet("{RIGHT}")
- EndIf
- Else
- HotKeySet("{APPSKEY}") ; Unhook the hotkey when outside firefox
- Send("{APPSKEY}") ; Send the key like normal so windows can process it
- HotKeySet("{APPSKEY}", "YouTube_Keymap") ; Hook the hotkey again
- EndIf
- EndFunc
- ; KEEP THE WINDOW ON TOP BY PRESSING THE TILDA KEY
- ; ================================================
- Func PinWindow()
- If $toggle = False Then
- $toggle = True
- ; Retrieve the handle of the active window.
- Local $hWnd = WinGetHandle("[ACTIVE]")
- ; Set the active window as being ontop using the handle returned by WinGetHandle.
- WinSetOnTop($hWnd, "", $WINDOWS_ONTOP)
- Else
- $toggle = False
- ; Retrieve the handle of the active window.
- Local $hWnd = WinGetHandle("[ACTIVE]")
- ; Set the active window as being ontop using the handle returned by WinGetHandle.
- WinSetOnTop($hWnd, "", $WINDOWS_NOONTOP)
- EndIf
- EndFunc
- ; PREVENT THE MIDDLE MOUSE CLICK FROM BEING GLITCHY AND OPENING MULTIPLE TABS
- ; ===========================================================================
- Func _MouseProc($iCode, $iwParam, $ilParam)
- Static $t = $delay
- If $iCode < 0 Then Return _WinAPI_CallNextHookEx($hHook, $iCode, $iwParam, $ilParam)
- Local $info = DllStructCreate($MSLLHOOKSTRUCT, $ilParam)
- Switch $iwParam
- Case $WM_MBUTTONDOWN
- If TimerDiff($t) < $delay Then Return 1 ;<<< disable
- $t = TimerInit()
- EndSwitch
- Return _WinAPI_CallNextHookEx($hHook, $iCode, $iwParam, $ilParam)
- EndFunc
- While 1
- ;If GuiGetMsg() = -3 Then _Close()
- GUIGetMsg()
- WEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement