Thomas Grill wrote: >Martin Peach schrieb: > >> >> Also if we double-click on the icon of a patch still on win32 > >> >> platform, it opens an instance of pd, it would be nice if the patch > >> >> was > >> >> opened in the already loaded (the last one at least) instance of pd. > >> >> > >> > > >> > That is an old, known bug. I saw this Miller's TODO. If you got this > >> > working, and submitted a patch, I think he would be likely to > >> accept it. > >> > > >> I'm also very curious about a solution for this, which is non-trivial >on > >> Windows. I failed to do it with DDE (because old-fashioned DDE doesn't > >> seem to be really working with current Windows versions) and using the > >> "find running PD process" method requires sending an "open patcher" > >> inquiry to the TCL/TK part of the already-running PD which is beyond my > >> TCL/TK capabilities (not to mention interest). > > > > There's EnumProcesses in the PSAPI. > > ( http://msdn2.microsoft.com/en-us/library/ms682629.aspx ) > > A newly started instance of pd could use it to determine that it > > wasn't the only pd running and quit. How would it pass the patch to > > the other pd? > > There must be a registry setting for this kind of thing, since, for > > example, Photoshop doesn't open a new instance whenever you > > double-click one of its documents. >It's easy to find out whether a PD is already running, but the running >PD must have a possibility to receive a inter-process message from the >second PD and load the patch. >I spent some time on that a few months ago, and if i remember correctly >the show-stopper for me was that i found out that i'd have to patch the >TK part to get this running. And then, it wasn't that important to >really try hard.
It's definitely possible to specify that an application run only as a single instance, I have found the documentation on MSDN for Visual Basic's Project Builder but not the underlying code or API to do it in c. Martin _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list