lastDynaRun := CAPSLOCK & F5:: Clipboard = Send, ^c ClipWait, 3 dynaRunName = Dynarun if (lastDynaRun) { Process, Exist, %lastDynaRun% if (ErrorLevel > 0) { MsgBox, 4, Existing DynaRun, Replace last DynaRun?`nYes: Replace instance.`nNo: New instance., 1 IfMsgBox, No { Random, rnd, 1, 100 dynaRunName .= rnd } else { Process, Close, %lastDynaRun% } } } lastDynaRun := DynaRun(clipboard, dynaRunName) return DynaRun(TempScript, pipename="") { static _:="uint",@:="Ptr" If pipename = name := "AHK" A_TickCount Else name := pipename __PIPE_GA_ := DllCall("CreateNamedPipe","str","\\.\pipe\" name,_,2,_,0,_,255,_,0,_,0,@,0,@,0) __PIPE_ := DllCall("CreateNamedPipe","str","\\.\pipe\" name,_,2,_,0,_,255,_,0,_,0,@,0,@,0) if (__PIPE_=-1 or __PIPE_GA_=-1) Return 0 Run, %A_AhkPath% "\\.\pipe\%name%",,UseErrorLevel HIDE, PID If ErrorLevel MsgBox, 262144, ERROR,% "Could not open file:`n" __AHK_EXE_ """\\.\pipe\" name """" DllCall("ConnectNamedPipe",@,__PIPE_GA_,@,0) DllCall("CloseHandle",@,__PIPE_GA_) DllCall("ConnectNamedPipe",@,__PIPE_,@,0) script := (A_IsUnicode ? chr(0xfeff) : (chr(239) . chr(187) . chr(191))) TempScript if !DllCall("WriteFile",@,__PIPE_,"str",script,_,(StrLen(script)+1)*(A_IsUnicode ? 2 : 1),_ "*",0,@,0) Return A_LastError,DllCall("CloseHandle",@,__PIPE_) DllCall("CloseHandle",@,__PIPE_) Return PID }