Determine if only one instance is running: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 686: | Line 686: | ||
note "Got lock!"; |
note "Got lock!"; |
||
unlink $lockpid;</lang> |
unlink $lockpid;</lang> |
||
=={{header|Phix}}== |
|||
The following is included in the distro as demo\rosetta\Single_instance.exw |
|||
<lang Phix>include pGUI.e |
|||
function copydata_cb(Ihandle /*ih*/, atom v, integer size) |
|||
printf(1,"COPYDATA(%s, %d)\n",{peek_string(v), size}); |
|||
return IUP_DEFAULT; |
|||
end function |
|||
function esc_close(Ihandle /*ih*/, atom c) |
|||
return iff(c=K_ESC?IUP_CLOSE:IUP_CONTINUE) |
|||
end function |
|||
IupOpen("../pGUI/") |
|||
IupSetGlobal("SINGLEINSTANCE", "Single") -- (must [partially] match the main window title) |
|||
if IupGetGlobal("SINGLEINSTANCE")!="" then |
|||
Ihandle dlg = IupDialog(IupVbox({IupLabel("hello")},"MARGIN=200x200")) |
|||
IupSetAttribute(dlg,"TITLE","Single Instance") |
|||
IupSetCallback(dlg, "K_ANY", Icallback("esc_close")) |
|||
IupSetCallback(dlg, "COPYDATA_CB", Icallback("copydata_cb")); |
|||
IupShow(dlg) |
|||
IupMainLoop() |
|||
end if |
|||
IupClose()</lang> |
|||
=={{header|PicoLisp}}== |
=={{header|PicoLisp}}== |