Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #NoEnv
- SetTitleMatchMode, 2
- #SingleInstance force
- if (!A_IsAdmin) {
- Run *RunAs "%A_ScriptFullPath%"
- ExitApp
- }
- ShellMessage(wParam, lParam) {
- if (wParam == 0x8004) { ; HSHELL_RUDEAPPACTIVATED
- ; fires every time a window changes focus
- WinGet, currExe, ProcessName, ahk_id %lParam%
- ; ToolTip, % currExe . " " . wParam . " " . lParam . " " . PID
- if (currExe == "PlanetSide2_x64.exe") {
- SoundBeep, 1250, 100
- SoundBeep, 1250, 100
- WinGet, PID, PID, ahk_id %lParam%
- ModProcessAffinityMask(PID, 0xFFFFFFFE)
- }
- }
- }
- ModProcessAffinityMask(PID, BitwiseAnd) {
- if (PID <= 0) {
- return 0
- }
- handle := DllCall("OpenProcess"
- , "UInt", 0x1200 ; dwDesiredAccess := PROCESS_QUERY_LIMITED_INFORMATION + PROCESS_SET_INFORMATION
- , "UInt", 0 ; bInheritHandle
- , "UInt", PID) ; dwProcessId
- if (handle == 0) {
- return 0
- }
- VarSetCapacity(lpProcessAffinityMask, A_PtrSize)
- VarSetCapacity(lpSystemAffinityMask, A_PtrSize)
- result := DllCall("GetProcessAffinityMask"
- , "UPtr", handle
- , "UPtr", &lpProcessAffinityMask
- , "UPtr", &lpSystemAffinityMask)
- if (result == 0) {
- DllCall("CloseHandle", "UPtr", handle)
- return 0
- }
- lpProcessAffinityMask := NumGet(lpSystemAffinityMask, 0, "UPtr") & BitwiseAnd
- result := DllCall("SetProcessAffinityMask"
- , "UPtr", handle
- , "UPtr", lpProcessAffinityMask)
- ; tooltip, % result . " / " . A_LastError
- DllCall("CloseHandle", "UPtr", handle)
- return 1
- }
- Gui +LastFound
- hWnd := WinExist()
- DllCall("RegisterShellHookWindow", "Ptr", hWnd)
- MsgNum := DllCall("RegisterWindowMessage", Str, "SHELLHOOK")
- OnMessage(MsgNum, "ShellMessage")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement