Click here to Skip to main content
15,892,480 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
We have a windows 10 full screen 3D scanning app that we can launch on its own with command line parameters. This is great but it always runs full screen with no windows border or controls - true full screen, and there is no way to tell it not to. What we would like to do is launch this app in a child window of our own CRM program that we are porting to C# from old VB code. Basically, we want to encapsulate or wrap the full screen program into a window, yet have it still think it is running full screen but have it scale down based on the window size presented by the CRM. This way, we can wrap it with the standard window controls (min,max,close) to allow easier back and forth to the CRM program.

I have no idea if this is possible, or if there is an easier way to accomplish what we are wanting to do, or if I am even describing this in a way that is understandable by people smarter than I. I just know it is harder than I thought it would be to find on Google.
Thanks,
John

What I have tried:

basic web searches. Google is full of lots of ideas on how to make my C# app full screen, but this is not what I want.
Posted
Updated 11-Aug-21 20:05pm
Comments
[no name] 11-Aug-21 21:05pm    
Probably simpler to run it in a VM (Hypervisor; VMBox; etc.)
Adérito Silva 11-Aug-21 23:18pm    
As far as I know, there is no easy way to do that. I can think of ways it would be possible, but I didn't put too much thought on it.

I believe it would be possible by hooking certain windows functions, including those responsible for interchanging Windows Messages.

Another way would be to display the contents of the 3rd party application window on your application (as if your application was a screen recorder) and send Windows Messages to the 3rd party application to simulate user input coming from your application. However, that would be complex and would require a lot of work.

Depending on how the specific 3rd party application handles its window size, you could send some Windows Messages to change its window type, after the application sets it itself. Then, it might be possible to send another Windows Message to set your own size and position to be within the bounds of your own application.

As a last resource, hacking the application executable might also work, but that would require some reverse engineering skill and may be violation of copyright or something.

Either way, doing that is hacky, is hard and may or may not work. As Gerry Schmitz also suggested, using a virtual machine to run the application or even a sandbox might be a valid solution.

1 solution

Probably the only way is going to be to use a VM, but ... this may work: Hosting EXE Applications in a WinForm Project[^]
 
Share this answer
 
Comments
NotAs#AsIWantToBe 20-Aug-21 11:53am    
This link above was what I was looking for. My particular app doesn't scale as I would like, which was my concern, but the link answers the question perfectly.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900