亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? videomod.cpp

?? 這個程序主要是為了簡單方便的改變屏幕的分辨率。
?? CPP
字號:
/*
Module : VIDEOMOD.CPP
Purpose: Implementation for some handy classes which wrap access 
         to the EnumDisplaySettings & ChangeDisplaySettings SDK functions
Created: PJN / 24-09-1997
History: PJN / 03-01-1999 Major tidy up of the code
                          UNICODE enabled the code

Copyright (c) 1997 by PJ Naughter.  
All rights reserved.

*/

/////////////////////////////////  Includes  //////////////////////////////////
#include "stdafx.h"
#include "videomod.h"




///////////////////////////////// defines /////////////////////////////////////

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif



//////////////////////////////// Implementation ///////////////////////////////
CVideoMode::CVideoMode()
{
  m_dwBitsPerPixel = 0;
  m_dwWidth = 0;
  m_dwHeight = 0;
  m_dwFrequency = 0;
}


CVideoMode::CVideoMode(DWORD BitsPerPixel, DWORD Width, DWORD Height, DWORD Frequency)
{
  m_dwBitsPerPixel = BitsPerPixel;
  m_dwWidth = Width;
  m_dwHeight = Height;
  m_dwFrequency = Frequency;
}


CVideoMode::CVideoMode(const CVideoMode& mode)
{
  *this = mode;
}


CVideoMode& CVideoMode::operator=(const CVideoMode& mode)
{
  m_dwBitsPerPixel = mode.m_dwBitsPerPixel;
  m_dwWidth = mode.m_dwWidth;
  m_dwHeight = mode.m_dwHeight;
  m_dwFrequency = mode.m_dwFrequency;

  return *this;
}



BOOL CVideoModes::GetCurrentVideoMode(CVideoMode& mode)
{
  HDC hdc = ::GetDC(NULL);  // Screen DC used to get current display settings
  if (hdc == NULL)
    return FALSE;

  CVideoMode m(GetDeviceCaps(hdc, BITSPIXEL), GetDeviceCaps(hdc, HORZRES),
               GetDeviceCaps(hdc, VERTRES), GetDeviceCaps(hdc, VREFRESH));
  mode = m;

  ::ReleaseDC(NULL, hdc);

  return TRUE;
}


BOOL CVideoModes::GetAvailableVideoModes(CAvailableVideoModes& modes)
{
  modes.SetSize(0, 5);
  int i=0;
  DEVMODE dm;
  
  while (EnumDisplaySettings(NULL, i, &dm))
  {
    CVideoMode thismode(dm.dmBitsPerPel, dm.dmPelsWidth, 
                        dm.dmPelsHeight, dm.dmDisplayFrequency);
    modes.SetAtGrow(i, thismode);
    ++i;
  }

  modes.FreeExtra();

  return (i>0);
}


LONG CVideoModes::RevertVideoModeToDefault()
{
  LONG rVal = ChangeDisplaySettings(NULL, 0);

#ifdef _DEBUG
  ReportChangeVideoErrorValue(rVal);
#endif

  return rVal;
}


void CVideoModes::ReportChangeVideoErrorValue(LONG lError)
{
  switch (lError)
  {
    case DISP_CHANGE_SUCCESSFUL: TRACE(_T("ChangeDisplaySettings: The settings change was successful\n")); break;
    case DISP_CHANGE_RESTART:	   TRACE(_T("ChangeDisplaySettings: The computer must be restarted in order for the graphics mode to work\n")); break;
    case DISP_CHANGE_BADFLAGS:	 TRACE(_T("ChangeDisplaySettings: An invalid set of flags was passed in\n")); break;
    case DISP_CHANGE_FAILED:	   TRACE(_T("ChangeDisplaySettings: The display driver failed the specified graphics mode\n")); break;
    case DISP_CHANGE_BADMODE:	   TRACE(_T("ChangeDisplaySettings: The graphics mode is not supported\n")); break;
    case DISP_CHANGE_NOTUPDATED: TRACE(_T("ChangeDisplaySettings: Unable to write settings to the registry\n")); break;
    default:                     TRACE(_T("ChangeDisplaySettings: Unexpected error value\n")); break;
  }
}


LONG CVideoModes::ChangeVideoModePermanently(const CVideoMode& mode)
{
  DEVMODE dm;
  CreateCompatibleDEVMODE(&dm, mode.m_dwBitsPerPixel, mode.m_dwWidth, mode.m_dwHeight, mode.m_dwFrequency);
  LONG rVal = ChangeDisplaySettings(&dm, CDS_UPDATEREGISTRY);

#ifdef _DEBUG
  ReportChangeVideoErrorValue(rVal);
#endif

  return rVal;
}


LONG CVideoModes::ChangeVideoModeTemporarily(const CVideoMode& mode)
{
  DEVMODE dm;
  CreateCompatibleDEVMODE(&dm, mode.m_dwBitsPerPixel, mode.m_dwWidth, mode.m_dwHeight, mode.m_dwFrequency);
  LONG rVal = ChangeDisplaySettings(&dm, 0);

#ifdef _DEBUG
  ReportChangeVideoErrorValue(rVal);
#endif

  return rVal;
}


LONG CVideoModes::CanChangeVideoMode(const CVideoMode& mode)
{
  DEVMODE dm;
  CreateCompatibleDEVMODE(&dm, mode.m_dwBitsPerPixel, mode.m_dwWidth, mode.m_dwHeight, mode.m_dwFrequency);
  LONG rVal = ChangeDisplaySettings(&dm, CDS_TEST);

#ifdef _DEBUG
  ReportChangeVideoErrorValue(rVal);
#endif

  return rVal;
}


void CVideoModes::CreateCompatibleDEVMODE(DEVMODE* pdm, DWORD BitsPerPixel, DWORD Width, DWORD Height, DWORD Frequency)
{
  ZeroMemory(pdm, sizeof(DEVMODE));
  pdm->dmSize = sizeof(DEVMODE);

  if (BitsPerPixel)
  {
    pdm->dmBitsPerPel = BitsPerPixel;
    pdm->dmFields |= DM_BITSPERPEL;
  }

  if (Width)
  {
    pdm->dmPelsWidth = Width;
    pdm->dmFields |= DM_PELSWIDTH;
  }

  if (Height)
  {
    pdm->dmPelsHeight = Height;
    pdm->dmFields |= DM_PELSHEIGHT;
  }

  if (Frequency)
  {
    pdm->dmDisplayFrequency = Frequency;
    pdm->dmFields |= DM_DISPLAYFREQUENCY;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本中文字幕区| 精品国产免费人成在线观看| 国产麻豆成人精品| 美女视频黄 久久| 日产国产高清一区二区三区| 日韩电影在线一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 日本vs亚洲vs韩国一区三区二区| 日韩激情av在线| 麻豆成人免费电影| 国产精品中文字幕日韩精品 | 91老师片黄在线观看| 成人动漫中文字幕| 91视视频在线直接观看在线看网页在线看 | 欧美精品一区二区三区视频| 精品少妇一区二区| 国产日韩一级二级三级| 国产精品国产三级国产普通话99| 成人欧美一区二区三区黑人麻豆| 亚洲精品菠萝久久久久久久| 亚洲gay无套男同| 狠狠色狠狠色合久久伊人| 国产999精品久久| 91年精品国产| 欧美一区二区视频在线观看| 欧美精品一区二区三区蜜桃| 中文字幕一区二区三区在线观看| 亚洲狠狠爱一区二区三区| 免费人成精品欧美精品 | 成人欧美一区二区三区小说| 午夜天堂影视香蕉久久| 精品一区二区久久| va亚洲va日韩不卡在线观看| 欧美精品精品一区| 日本一区二区视频在线| 亚洲va欧美va人人爽午夜| 国产乱子轮精品视频| 91久久精品国产91性色tv | 中文字幕欧美激情| 午夜精品福利一区二区三区av| 狠狠色狠狠色综合| 欧美男生操女生| 中日韩免费视频中文字幕| 日韩黄色免费网站| 色狠狠一区二区三区香蕉| 精品国产乱码久久久久久老虎| 亚洲精品视频免费观看| 风间由美一区二区三区在线观看| 91精品国产综合久久久蜜臀粉嫩| 国产精品高清亚洲| 国产一区二区三区av电影| 在线成人av影院| 亚洲同性gay激情无套| 紧缚捆绑精品一区二区| 欧美日韩在线三级| 亚洲综合一区在线| 91香蕉视频黄| 国产精品精品国产色婷婷| 国产一区二区三区免费| 91精品免费在线| 午夜精品福利一区二区三区蜜桃| 色综合久久久久久久久| 国产精品国产三级国产| 国产xxx精品视频大全| 精品国产区一区| 奇米综合一区二区三区精品视频| 91久久免费观看| 一区二区三区中文在线| 99精品视频一区二区三区| 国产亚洲欧美一级| 国内外精品视频| 精品福利一区二区三区免费视频| 蜜臀av一区二区| 日韩精品一区二区三区在线观看 | 国产精品不卡在线观看| 国产精品一区二区在线看| 久久久欧美精品sm网站| 国产成人午夜精品影院观看视频| 欧美电影免费观看高清完整版在线| 日本va欧美va瓶| 久久综合狠狠综合久久激情| 精品一二三四在线| 国产午夜精品一区二区三区嫩草 | 精品999久久久| 国产一区激情在线| 久久久亚洲国产美女国产盗摄| 国产高清无密码一区二区三区| 国产精品久线在线观看| 在线观看av不卡| 日本欧美久久久久免费播放网| 欧美不卡一区二区三区| 国产成人精品www牛牛影视| 国产精品网曝门| 在线免费不卡电影| 麻豆精品久久久| 中文字幕中文字幕在线一区| 在线观看欧美黄色| 麻豆91精品91久久久的内涵| 国产欧美精品一区二区色综合朱莉| jizzjizzjizz欧美| 亚洲v日本v欧美v久久精品| 日韩欧美在线综合网| 国产成人aaa| 亚洲一区二区av在线| 精品免费日韩av| 一本到高清视频免费精品| 日韩中文字幕麻豆| 久久精品日产第一区二区三区高清版 | 久久精品国产精品青草| 亚洲国产精品av| 欧美色图一区二区三区| 国产精品自拍网站| 午夜日韩在线电影| 中文字幕一区二区三区av| 欧美一区二区三区白人| 99免费精品视频| 三级成人在线视频| 亚洲欧美在线aaa| 日韩女同互慰一区二区| 色呦呦一区二区三区| 国产乱码精品一品二品| 亚洲成人免费看| 国产精品少妇自拍| 欧美成人官网二区| 欧美日韩久久久| 91在线视频官网| 国产精品一区免费视频| 日产国产欧美视频一区精品| 亚洲视频免费在线观看| 国产日韩欧美精品电影三级在线| 6080午夜不卡| 欧美网站一区二区| 97久久人人超碰| 国产69精品久久777的优势| 亚洲r级在线视频| 亚洲精品高清视频在线观看| 国产精品人成在线观看免费| 久久理论电影网| 日韩精品一区二区三区三区免费| 欧美日韩国产高清一区二区| 91麻豆免费在线观看| 成人三级在线视频| 国产一区二区按摩在线观看| 粉嫩一区二区三区性色av| 日本亚洲最大的色成网站www| 亚洲欧美色图小说| 国产亚洲欧美一区在线观看| 日韩小视频在线观看专区| 91精品麻豆日日躁夜夜躁| 欧美久久久一区| 91精品视频网| 91精品国产综合久久精品性色| 欧美日韩精品免费观看视频| 欧美色爱综合网| 欧美一区永久视频免费观看| 91.xcao| 精品久久人人做人人爱| 久久天堂av综合合色蜜桃网| 久久免费电影网| 日本一区二区三区视频视频| 中文字幕乱码日本亚洲一区二区| 日本一区二区三区久久久久久久久不 | 国产精品伊人色| 国产成人免费在线观看| 成人手机在线视频| 99re成人在线| 欧美猛男gaygay网站| 日韩精品中午字幕| 欧美国产成人精品| 亚洲欧美激情小说另类| 亚洲一区日韩精品中文字幕| 五月天激情综合| 国产精品一区在线| 日本韩国欧美三级| 欧美中文字幕一二三区视频| 欧美电视剧免费全集观看| 久久综合久久综合亚洲| 亚洲另类春色国产| 麻豆精品视频在线| 91在线观看免费视频| 欧美挠脚心视频网站| 国产三级精品视频| 午夜电影一区二区| 成人午夜av在线| 欧美久久高跟鞋激| 中文字幕高清不卡| 午夜影院在线观看欧美| 精品无码三级在线观看视频| www..com久久爱| 日韩欧美国产一区二区三区| 国产精品毛片无遮挡高清| 无吗不卡中文字幕| 成人动漫一区二区在线| 制服丝袜国产精品| 国产精品福利一区二区| 免费亚洲电影在线| 在线观看不卡一区| 久久精品视频一区二区| 视频一区在线播放| 色综合久久综合|