#SingleInstance, force #NoTrayIcon OnMessage(0x219, "notify_change") Return lastkb = "" DllCall("AllocConsole") WinHide % "ahk_id " DllCall("GetConsoleWindow", "ptr") notify_change(wParam, lParam, msg, hwnd) { global lastkb DetectHiddenWindows On Run %ComSpec%,, Hide, pid WinWait ahk_pid %pid% DllCall("AttachConsole", "UInt", pid) WshShell := ComObjCreate("Wscript.Shell") exec := WshShell.Exec("cscript /nologo ""%userprofile%\.kinto\usb.vbs""") kbtype := exec.StdOut.ReadAll() DllCall("FreeConsole") Process Close, %pid% if lastkb != %kbtype% { if InStr(kbtype, "Apple") { ; MsgBox, Apple Run, "%A_ScriptDir%\NoShell.vbs" "%A_ScriptDir%\toggle_kb.bat" mac, "%A_ScriptDir%" } else{ ; MsgBox, Windows Run, "%A_ScriptDir%\NoShell.vbs" "%A_ScriptDir%\toggle_kb.bat" win, "%A_ScriptDir%" } ; MsgBox % kbtype } lastkb = %kbtype% }