Okay, so you want to run another program inside of your projects window, thus giving it the appearance of being embedded?
This has been done before in 7.5 if I'm not mistaken but I haven't seen it done in 8 yet and thought I'd show you all how I accomplish this the easy way. Thanks to retesets WinAPI plugin and the Window actions of APMS I have created 3 little functions to handle the embedding/mounting, the resizing, and the termination of the external program.Here's a list of things you'll need to use these functions.
- AutoPlay Media Studio 8 (Obviously)
- retesets WinAPI Plugin v.22
- Some coding knowledge
- And an imagination
Now that you know what you'll need, onto the functions

Code:
[COLOR="seagreen"]--Embed Code "Mounts an external program according to text/handle in the project window giving it the embedded appearance"[/COLOR] function Embed(Program) [COLOR="seagreen"]--the program argument is the keyword in the programs window title to search for.[/COLOR] Enum_Windows = Window.EnumerateTitles(true); for title,text in pairs(Enum_Windows) do Find_Window = String.Find(Enum_Windows[title], Program, 1, false); if Find_Window ~= -1 then Parent_Size = Window.GetSize(Application.GetWndHandle()); Window_Handle = WinApi.FindWindow("", Enum_Windows[title]); Enum_Processes = System.EnumerateProcesses(); for pid,filename in pairs(Enum_Processes) do if pid == Widow_Handle then Window_PID = pid end end Set_Parent = WinApi.SetParent(Window_Handle, Application.GetWndHandle()); Window.SetSize(Window_Handle, Parent_Size.Width - 7, Parent_Size.Height - 13); Window.SetPos(Window_Handle, -5, -30); Page.Redraw(); Window.Show(Window_Handle); end end end [COLOR="seagreen"]--Project On Size Event "Resizes the mounted window according to project size"[/COLOR] function EmbedSize() Parent_Size = Window.GetSize(Application.GetWndHandle()); Window.SetSize(Window_Handle, Parent_Size.Width - 7, Parent_Size.Height - 13); Window.SetPos(Window_Handle, -5, -30); Page.Redraw(); Window.Show(Window_Handle); end [COLOR="seagreen"]--Project On Shutdown Event "Terminates the process associated with the mounted window"[/COLOR] function EmbedDestroy() Enum_Processes = System.EnumerateProcesses(); for pid,filename in pairs(Enum_Processes) do if pid == Window_PID then System.TerminateProcess(pid); end end end

Don't forget the program you pass to the embed/mount function must be running prior to calling it. As I said we aren't really embedding the program just merely giving it that appearance.
Feel free to leave some feedback
Feel free to leave some feedback
Comment