Сменяне на резолюция без ресайзване на прозорците, И надявам се без Пешовите бъгове |
Здравейте ( Вход | Регистрация )
Сменяне на резолюция без ресайзване на прозорците, И надявам се без Пешовите бъгове |
![]()
Коментар
#1
|
|
![]() Иво Георгиев ![]() ![]() ![]() ![]() ![]() Група: Потребител Коментари: 887 Регистриран: 08.04.07 Потребител № 523 ![]() |
Ето линка към DLL, чийто предназначение е да сменя резолюция без да влияе на прозорците...
DLL-чето съдържа 2 функции: init_dll() - инициира DLL-а change_res(xRes, yRes) - сменя резолюцията Мненията задължителни Ето и сорс кода (C++): Код #include <windows.h> #define export extern "C" __declspec(dllexport) double DEVMODE ScreenSettings; export SetRes(double xRes, double yRes) { EnumDisplaySettings(NULL, 0, &ScreenSettings); ScreenSettings.dmFields=DM_PELSWIDTH|DM_PELSHEIGHT; ScreenSettings.dmPelsWidth=(int) xRes; ScreenSettings.dmPelsHeight=(int) yRes; ChangeDisplaySettings(&ScreenSettings, CDS_TEST); SendMessage(HWND_BROADCAST, WM_DISAPLAYCHANGE, SPI_SETNONCLIENTMETRICS, 0); return 0; } UPDATED!!! |
|
|
![]() |
![]()
Коментар
#2
|
|
![]() Редовен бъбривко ![]() Група: Администратор Коментари: 661 Регистриран: 08.07.05 Град: Бургас Потребител № 44 ![]() |
Irricht НЕ Е DIRECT3D!!
1000% съм сигурен че е OpenGL! В OpenGL няма D3DDeviceContext структура! OGL разчита на видео паметта но и на оперативната памет, OGL се справя много по прилично с екрана и резолюциите. За OpenGL "ChangeDisplaySettings" е достатъчно. GL реагира правилно на Postmessage, докато Direct3D - не! това е ![]() -------------------- |
|
|
![]() ![]() |
Олекотена версия | Час: 21:58:51, 05.07.25 |