
Embed Dll
#1
Posted 02 December 2005 - 01:44 AM
Information
With this DLL, you can embed one into into another. You can also un-embed it. It also comes with a few hwnd functions to help you get the hwnd of the windows to embed and unembed.
Functions
Embed
Unembed
HWND from Class
HWND from Title
HWND from Point (x and y)
Desktop HWND (for un-embedding)
Special Notes
None
Download
Click Here to Download
#2
Posted 02 December 2005 - 03:19 AM

I've seen a similar Embed DLL but this one has a lot more features

Good Work!

#3
Posted 02 December 2005 - 03:21 AM
great idea for a dll...
edit: very nice!
don't have much use for it but will save it in case I ever do
I guess it's a nice idea but don't really know why to embed it
why would this be used?
Edited by hughman, 02 December 2005 - 03:51 AM.
#4
Posted 02 December 2005 - 05:07 AM
This is one of those DLL's that won't be on the most popular usage list
but it's just nice to have them out there in case you need them.
-Mousier Goatee

#5
Posted 02 December 2005 - 08:48 AM
won't be on the most popular usage list
I think you two need to think about the usefullness more.don't really know why to embed it why would this be used?
This can be used to create fake child windows. Take just about any program, for example, Game Maker Each script window, and resource properties window is a child of the main Game Maker Window.
Using this DLL you can open up a different GM made EXE within another one and have them communicate with eachother using textfiles or mplay functions.
Just about every program has child windows embedded into the program. From MS Word, to Firefox, to a billion more.
This is an essential DLL for software programming and also probably useful for SubOS development.
Ben
#7
Posted 02 December 2005 - 10:56 PM
Link removed - this is not your topic.
But good job anyways

Edited by Smarty, 23 June 2006 - 08:04 AM.
#9
Posted 24 December 2005 - 05:57 PM
(Wonderful work though, you are by far my favorite DLL maker ^-^. Your DLLs provide the abstract functionality that I need to program applications and such in GM [Most people just do games, I do both ^-^])
#10
Posted 25 December 2005 - 01:08 AM
#11
Posted 25 December 2005 - 01:13 AM
#12
Posted 25 December 2005 - 08:39 AM
Its not useless, and at the same time its not very useful, is it? The only use i can see is while creating a SubOS and other such things. Game Maker, was designed to make games and most game creators dont need embeding windows and other such things. Same applies to many of the dlls even i created.Nice work. One of the most useful things I've seen for a while now. And like all useful things, most people think it's useless.
Back on the topic, the dll is pretty cool.
Regards,
SleeK GeeK.
#13
Posted 25 December 2005 - 11:04 AM
The use I saw straight away was to create a level/asset editor and not have to bother writing a huge gui for it. Here's what I did:The only use i can see is while creating a SubOS and other such things.

#14
Posted 25 December 2005 - 11:33 AM
The use I saw straight away was to create a level/asset editor and not have to bother writing a huge gui for it. Here's what I did:The only use i can see is while creating a SubOS and other such things.
off-topic-Does that compile it into .exe??
#15
Posted 25 December 2005 - 03:54 PM

#17
Posted 25 December 2005 - 04:30 PM
Edited by Shinnoki, 25 December 2005 - 04:31 PM.
#19
Posted 25 December 2005 - 04:50 PM
U should add a note about it to ur first post.
Thnx.
Edited by Shinnoki, 25 December 2005 - 04:50 PM.
#21
Posted 21 June 2006 - 12:47 PM
I found what i was looking for! Hoora!
One question though Roach, how do you change the program it opens?
#22
Posted 22 June 2006 - 12:49 AM

#23
Posted 22 June 2006 - 02:10 AM
#24
Posted 22 June 2006 - 03:22 AM
BZ
#25
Posted 22 June 2006 - 05:19 PM
To be more precise, a class of a window can be considered to be the style of a window. When creating a window, you can customize it in numberous ways (by modifying the window structure) and then register its class/style, so you dont need to specify them time and again for windows that may use the same style. A button, listbox etc are window classes.You do realize that this topic is more than six months old? The class of a window refers to the type of window it is. For instance, internet explorer has a class name of IEXPLORE, which instead of targeting one window, it would target all windows under the class of IEXPLORE, which means it would target all Internet explorer windows open. Kapeesh? Next time google it.
Regards,
SleeK GeeK.
#26
Posted 23 June 2006 - 12:03 AM
fscommand("fullscreen","true") in the flash movie.

#27
Posted 23 June 2006 - 02:20 AM
Absolutely, but the problem while embedding something ingame is that the latency of it being loaded and getting embedded. I dont know if this would work, but one of the way would be that the exe launching the GUI (or other program) should have its window state as hidden. If it finds its parent window to be one of the command line arguments (it would be sent to it while launching it, to ensure that having other gm games running doesnt make things complicated), it will be shown. As i said, i dont know if it would work, but theres no reason for it to not work too.
The second option is that all the exe file windows that have to be embedded would be opened by gm by giving a command line parameter of the window handle. The exe would open itself, set its default window state to hidden (much like the above), and instead of GM waiting and executing the embedding process, which can fail in many circumstances, the exe program itself sets its parent and embeds into the GM window. This way there may not be any problem, but this second method much of defeats the purpose of this dll itself.
Regards,
SleeK GeeK.
#28
Posted 23 June 2006 - 04:14 AM

#29
Posted 23 June 2006 - 03:55 PM
BZ
#30
Posted 23 June 2006 - 04:03 PM
I am quite sure that it CAN be done, unless there is some built in protection to prevent it. Something like this would let you embed your GM program/game into Warcraft or any other programno, this dll is only for embeding things into gm, not the other way around...
BZ
embed_do(window_handle(),[handle of the program you want your program to be embedded in, can be found by hwnd_title or other ways])
Regards,
SleeK GeeK.
#31
Posted 23 June 2006 - 06:02 PM
But no, you can't embed you gm-made game into Warcraft, because it doesn't call the embed.dll.
#32
Posted 23 June 2006 - 06:11 PM
#33
Posted 23 June 2006 - 06:17 PM
this is the code im usingI am quite sure that it CAN be done, unless there is some built in protection to prevent it. Something like this would let you embed your GM program/game into Warcraft or any other programno, this dll is only for embeding things into gm, not the other way around...
BZembed_do(window_handle(),[handle of the program you want your program to be embedded in, can be found by hwnd_title or other ways])
Regards,
SleeK GeeK.
dll_define(); execute_shell("knightonline.exe",0); sleep(5000); kohandle = hwnd_title("knight online client"); embed_do(window_handle(),kohandle);
but the problem is the game im playing somehow closes whenever it isnt selected.....
but that sorta did work....
#34
Posted 24 June 2006 - 04:25 AM
Anyways, I'm probably missing something, but how do I get stuff returned by the embedded program? I'm ignorant of this sort of thing.
#35
Posted 24 June 2006 - 08:57 AM
@kio
I did not understand what you meant by "because it does not call the embed.dll." AFAIK, the embedding is done by using the SetParent and MoveWindow API, and can be called by any application. GM can set itself to be embedded into something, or embed two third-party application. I embedded two notepads into each other. But the problem is, they dont get drawn until the paint event is called (in cases of many application), so you may have to send that message to them constantly.
I am pretty sure full-screen applications may have a window name or atleast a class name.
Regards,
SleeK GeeK.
Edited by SleeK GeeK, 24 June 2006 - 08:58 AM.
#36
Posted 08 July 2006 - 06:46 PM
#37
Posted 08 July 2006 - 07:35 PM
#38
Posted 09 July 2006 - 06:10 AM
PS, roach, you pwn!
#39
Posted 09 July 2006 - 03:09 PM
Thats easily possible. Roach just has to add a function that calls the MoveWindow API. By that, a specific window can be moved to a specific space inside the GM window as well as its width and height can be set.Can it be possible to change the width/height of the embeded window?
PS, roach, you pwn!
Regards,
SleeK GeeK.
#40
Posted 14 August 2006 - 01:04 AM

Edited by hanson, 14 August 2006 - 04:26 PM.
[GMN DEVBLOG] . 3D Domino Sim . 3D waterslide . Snowball Star . Desktop Physics . Cloudless Haze
[3D terrain decal mapping]
#41
Posted 14 August 2006 - 07:56 AM
I did not understand what you meant by "because it does not call the embed.dll." AFAIK, the embedding is done by using the SetParent and MoveWindow API, and can be called by any application. GM can set itself to be embedded into something, or embed two third-party application. I embedded two notepads into each other. But the problem is, they dont get drawn until the paint event is called (in cases of many application), so you may have to send that message to them constantly.
For example, in a gm-game I use a external_call to call the functions of embed dll.
But in another game that doesn't call the functions and runs fullscreen it would be hard or impossible to embed.
#42
Posted 17 August 2006 - 07:05 AM
#43
Posted 19 August 2006 - 05:54 PM
#44
Posted 30 October 2007 - 06:16 PM

all it does is make notepad disapear

or am i just being stupid?
#45
Posted 09 December 2007 - 08:34 PM
no, this dll is only for embeding things into gm, not the other way around...
BZ
Yes it can be done! i wa smessing with the example and ended up with the gamemaker Inside notpad

#46
Posted 01 January 2008 - 05:08 AM
nvm. figured it out.
however, how can i control the child window? how can i tell it to save, maximize, close?
i mean, i guess i could make another .exe, but i mean more along the lines of..
run notepad. let the user type whatever they want. save it. close notepad.
you now basically have a text box in gm, with all the features... but how would i go about doing that?
Edited by Dan., 01 January 2008 - 05:18 AM.
For Sale: 3 Editables, 40 dollars (demo on site above). Click to purchase.
#47
Posted 23 February 2008 - 09:04 AM
#50
Posted 12 June 2008 - 10:52 PM
Also, an embed DLL does not have anything to do with blocking that.
Edited by GMREC1111, 12 June 2008 - 11:06 PM.