我开发的系统在800*600分辨率下效果很好,但如设置成1024*768字体太小。
我想进入我的系统时自动设置为800*600,退出恢复原来设置。

解决方案 »

  1.   

    不知道使用API函数更改注册表中的相关项可不可以。
      

  2.   

    '*********************
    '分辨率变量声明
    '*********************
    Private Declare Function SetWindowPos Lib "user32" (ByValhwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongConst HWND_TOPMOST = -1
    Const SWP_SHOWWINDOW = &H40
    Private Sub Form_Load()
    Dim retValue As LongfrmFirst.Top = 0 '设置窗体上边界位置
    frmFirst.Left = 0 '设置窗体左边界位置
    frmFirst.Width = Screen.Width '设置窗体宽度为屏幕宽度
    frmFirst.Height = Screen.Height '设置窗体高度为屏幕高度retValue = SetWindowPos(Me.hWnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY,_ 300,300,SWP_SHOWWINDOW)  Set objDD = objDX.DirectDrawCreate("")
     Call objDD.SetCooperativeLevel(Me.hwnd, DDSCL_FULLSCREEN Or DDSCL_ALLOWMODEX Or DDSCL_EXCLUSIVE)
     Call objDD.SetDisplayMode(800, 600, 16, 0, DDSDM_DEFAULT)
     Me.Top = 0'设置窗体上边界位置
     Me.Left = 0'设置窗体左边界位置
     Me.Width = Screen.Width'设置窗体宽度为屏幕宽度
     Me.Height = Screen.Height '设置窗体高度为屏幕高度End Sub
      

  3.   

    EnumDisplaySettings
    ChangeDisplaySettings得到当前设置用:EnumDisplaySettings ByVal vbNullString, ENUM_CURRENT_SETTINGS, dev_mode
    用ChangeDisplaySettings时对于不同的系统可能有的要求重起,有的不要