Running Exe Inside your Program

Started by Hardcoal, November 04, 2020, 03:56:32

Previous topic - Next topic

Hardcoal

Hi.. Is it possible to run a Graphic EXE inside a Blitzmax window.. like on 3D when you do Camera Viewport?

Im not looking to interact with it..with the main program
just that it will be played like a video viewport inside my main program..

cheers

Code


Hardcoal

#2
Yes.. but I want to run an External EXE inside the Canvas..

Code

Scaremonger

Do you mean to run the program and display it's output on a canvas inside your application?

My first thought was: How does Citrix, Wine and Skype capture and display graphical output?

I have no idea how Citrix and Wine do it, but screen sharing apps like Skype just a capture what is in the screen buffer, identify changed blocks and send the data compressed over IP. The image is re-drawn at the other end. The difference between that and your requirement is that the application would not draw to the screen, it needs to draw to a buffer that you can redirect to your canvas...

If you are writing the external apps then you can just send data over IP rather than render it, but getting pure output without it being drawn to the screen will likely be a challenge.

Si...

Scaremonger


After a little digging, you might be able to (in Windows API) obtain the HWND using FindWindow(), create a DC and then send a WM_PRINT message to the window asking it to redraw onto your DC. Once the application has drawn to your DC you can then render it to the canvas....

I don't have a Windows PC at the moment otherwise I would be doing a little messing about myself :)

Si...

Hardcoal

whats a DC?

anyway..

awesome..  ill try it with what ive got

thanks
Code

Scaremonger