?
Solved

overlay text on full screen game

Posted on 2007-04-06
7
Medium Priority
?
1,060 Views
Last Modified: 2013-12-06
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
info@kalarakis.com
0
Comment
Question by:KALARIUS
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
7 Comments
 
LVL 18

Expert Comment

by:Jose Parrot
ID: 18868533
0
 

Author Comment

by:KALARIUS
ID: 18868966
hi

here is the problem
when I initialize the device
Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, frmMain.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, _
                                                        D3DWindow)
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?
0
 
LVL 18

Expert Comment

by:Jose Parrot
ID: 18870963
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.

Jose
0
 

Author Comment

by:KALARIUS
ID: 18873460
jose

a) into the directX sdk you can find functions that return the resolution of the screen and the depth of the color.
 (D3D.CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, DispMode.Format, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_SURFACE, D3DFMT_D16))
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
0
 
LVL 18

Accepted Solution

by:
Jose Parrot earned 2000 total points
ID: 18876744
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
http://www.virtualdub.org/blog/pivot/entry.php?id=91.
I understand your difficulties, because for sure you are pionnering in this subject.
Jose
0

Featured Post

Get proactive database performance tuning online

At Percona’s web store you can order full Percona Database Performance Audit in minutes. Find out the health of your database, and how to improve it. Pay online with a credit card. Improve your database performance now!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Okay. So what exactly is the problem here? How often have we come across situations where we need to know if two strings are 'similar' but not necessarily the same? I have, plenty of times. Until recently, I thought any functionality like that wo…
Artificial Intelligence comes in many forms, and for game developers, Path-Finding is an important ability for making an NPC (Non-Playable Character) maneuver through terrain.  A* is a particularly easy way to approach it.  I’ll start with the algor…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question