• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1178
  • Last Modified:

overlay text on full screen game

I am programming with VB6
I have a form (form1) that I want to overlay on the screen of full screen game
I do not wan to use proxy for directX
I want a solution like the Game Overlay program
do you know any dll or ActiveX control or any method to overlay my form while the game is running The game play only at full screen
  • 3
  • 2
1 Solution
Jose ParrotGraphics ExpertCommented:
KALARIUSAuthor Commented:

here is the problem
when I initialize the device
I get an error because the game have init the device for exlusive use
If I init the device and then start the game Then the game send me an error
I must find a way that both me and the game share the some handle.
I delive that the GameOverlay or xFire do the something like this .
Is any body know the way to share the handle? or something else?
Jose ParrotGraphics ExpertCommented:
In cases where the application gain full access to a resource, in this case, the graphic resource, it is like a full screen DOS application. The main problems with a window from application #2, over a full screen application #1, are:
1. Non standard resolution and/or refreshing rates of application #1 (the game) because, as it has control over the entire graphic board, it isn't constrained by Windows
2. Even restricted by Windows settings, the frame buffer used by the game can use different bitmapping of Windows itself, so conflicting on pixel format (8, 16, 24, 32 bits).
3. What if the game uses OpenGL?

If a so well tested and used tool like Game Overlay isn't capable of circumvect this problem, I think there is no dll or ActiveX component around capable of it.
So, my guess is: there is no solution to share the handle in a general way, that is, between a Windows application (VB, C++, etc.) and any game in full screen mode.
Please note: full screen isn't a window without borders. It is the console of Windows.

KALARIUSAuthor Commented:

a) into the directX sdk you can find functions that return the resolution of the screen and the depth of the color.
b)My question is for DirectX not for openGL
c) The Game Overlay does not use "magic' to overlay text or bitmaps on the full screen the same does with xFire program What is the techinck of these program?
d) Look at the www.mikoweb.de there is a solution for my question. It use proxydll

I ask if there is a solution not to use proxydll because I use VB6 and Vista windows with directx 10
The solution of www.mikoweb.de (also include examples in C++ and vb6) cover until DirectX9
A good manual for DirectX is www.directx4vb.com by jack.Hoxley@Directx4vb.com

Kalarakis Michalis
Jose ParrotGraphics ExpertCommented:
Yes, Kalarius, you're correct, we can obtain the status of graphics resources by calling CheckDeviceFormat. But, unfortunately, as far I know, the answer to the original question probably is NO, there is currently no dll, ocx, ActiveX components to do such job, in the described environment. As you're in DX10, Vista, VB6, there are some inconsistencies in such mixing. Mainly, because Microsoft has discontinued support to Visual Studio 6 in the first or second distribution of DX9, as far I remember, the february 2003 release. Of course, this doesn't mean that nothing will work in that mixed environment, but what you are looking for isn't an usual feature. Solution would be upgrading to VS2003 or 2005.
Also, as you have a message on exclusive use of graphics by the game, it could be interesting to check if the card supports overlay, if the chip supports it, if there is enough memory. If it wouldn't support overlay, such message could appear. Finally, check for drivers from the card manufacturer, related to DX10 or Vista.
About on how DirectDraw works (seems you already know), take a look at
I understand your difficulties, because for sure you are pionnering in this subject.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now