首页
社区
课程
招聘
[分享]改显存
发表于: 2017-1-5 22:45 6997

[分享]改显存

2017-1-5 22:45
6997
#include <ddraw.h>   

#pragma   comment(lib,   "dxguid.lib")   

typedef HRESULT (WINAPI* T_GetCaps)(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps, DWORD dwUnknown);
PDWORD                g_pFuncGetCaps = NULL;
T_GetCaps        g_FuncGetCaps = NULL;

HRESULT WINAPI My_GetCaps(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps, DWORD dwUnknown)
{
        HRESULT hResult = g_FuncGetCaps(lpDDDriverCaps, lpDDHELCaps, NULL);

        if (S_OK == hResult) {

                lpDDHELCaps->dwVidMemTotal = 1000;

        }

        return hResult;
}

void vmem()  
{  
        LPDIRECTDRAW2 lpdd = NULL;   
        ::CoInitialize(NULL);   

        HRESULT ddrval = ::CoCreateInstance(CLSID_DirectDraw, NULL, CLSCTX_ALL, IID_IDirectDraw2, (void**)&lpdd);   

        if(!FAILED(ddrval)) {

                ddrval = IDirectDraw2_Initialize(lpdd,   NULL);   
        }   

        g_pFuncGetCaps = (PDWORD)(*(PDWORD)lpdd + 0x2C);
        g_FuncGetCaps = (T_GetCaps)*g_pFuncGetCaps;
        *g_pFuncGetCaps = (DWORD)My_GetCaps;

        DDCAPS ddcaps;   

        ddcaps.dwSize = sizeof DDCAPS;   
        lpdd->GetCaps(&ddcaps, NULL);   

        lpdd->Release();   

        printf("display   memory   is   %d    ", ddcaps.dwVidMemTotal);  
        printf("display   memory free   is   %d    ", ddcaps.dwVidMemFree);  

        ::CoUninitialize();   
}  

int _tmain(int argc, _TCHAR* argv[])  
{  
        vmem();  

        getchar();
        return 0;  
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 35795
活跃值: (7155)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
要让黑淘宝 黑商人 掌握了。。。。可就更坏了~~
2017-1-5 23:05
0
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
mark,感谢分享,新年快乐
2017-1-6 00:18
0
雪    币: 10967
活跃值: (2930)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
4
看不懂啊,1000是个什么玩意?求科普
2017-1-6 08:41
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个改显存貌似是用dx来实现的,就不知道是不是这个修改后的结果只在dx中有效呢,如果是全局的那就恐怖了
2017-1-20 21:51
0
雪    币: 31
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
荆门老乡  可以加你QQ教我学写程序吗
2019-7-22 14:12
0
雪    币: 161
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
没看懂有什么用,有老哥解释解释么
2019-7-23 13:03
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢分享,看看怎么改的
2019-7-23 23:27
0
游客
登录 | 注册 方可回帖
返回
//