首页 > 代码库 > 支持高DPI的录屏技术

支持高DPI的录屏技术

 

高DPI导致的问题:

录制软件的识别的分辨率(1280*720)小于屏幕真实分辨率(1920*1080),导致只能录制屏幕的一部分。Gilisoft Screen Recorder 有客户反馈了这个问题。

 

解决办法

DWORD oldp;
DWORD api_base = (DWORD)GetProcAddress(GetModuleHandleW(L"gdi32.dll"),"GetDeviceCaps");
VirtualProtect((void*)api_base,8, PAGE_EXECUTE_READWRITE, &oldp);
*(DWORD*)api_base = 0x60B8;
*(DWORD*)(api_base + 4) = 0x8C200;
VirtualProtect((void*)api_base,8, oldp, &oldp);
 
大家可以验证:
 
Screen recording can be useful when you need to record a how-to video to help someone learn how to use a program, record a game walkthrough, or prepare for a presentation. GiliSoft Screen Recorder is a screen recording software for Windows, it captures what you see on screen (support High DPI) and what you hear/say simultaneously, and saves them as compressed video file in real-time.
With our screen recording software you can record webinars, games and Skype videos in HD, and much more in a quick and hassle-free way.The intuitive and easy-to-use software offers a complete suite of tools and options for professional screen capture. Gilisoft Screen Recorder is available in English, Chinese, Mayar, Brasil, France, Deutsch.

支持高DPI的录屏技术