Hi all,
In my program i want to detect all active processes in memory which use directx mode.
I have procedure to get th32ProcessID (from PROCESSENTRY32) for active processes but what to do next ?
Posted on 2002-10-29 16:21:25 by martidim
This is a very general question. You can say that every app that has initialized a DirectX object is using DirectX. And initializing a DirectX object is nothing more than acquiring a pointer to an interface, i.e. to a set of functions. In the same sense, you can say that an app that has found the addresses of the exports of a DLL is using that DLL... And what kind of object ? DirectDraw ? DirectSound? DirectInput ?
Posted on 2002-10-30 02:18:51 by micmic
Hi micmic,
I want to find all started programs(games) which uses directdraw.
Posted on 2002-10-30 04:18:42 by martidim
If you want to check apps that are loading and not already running, you could use WaitForDebugEvent in order to check the loading of ddraw.dll and d3d8.dll. It's getting more difficult if the apps are already running. I guess you could inject some code in memory and call the IDirectDraw7::Initialize method (it might be easier if you use a version before the integration of Direct3D and DirectDraw). If the app is using DirectDraw, the return value should be DDERR_ALREADYINITIALIZED. But I guess you should work pretty hard on it...
Posted on 2002-10-31 02:29:34 by micmic