⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sm6.bas

📁 星子行主机控制系统用于主机管理,方便远程操作,通信等功能.更 方便用于局域网,管理速度快,连接简单方便.注意:星子行连接可用 于带路由主机与带路由主机之间连接,非路由与非路由之间连接.带
💻 BAS
字号:
Attribute VB_Name = "Sm6"

Option Explicit

Const SPIF_SENDWININICHANGE = &H2
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_UPDATEINIFILE = &H1
Private Declare Function SystemParametersInfo Lib "user32" Alias _
   "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _
    ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
    
    
    
    
Public Const VHORZRES = 10
Public Const BITSPIXEL = 12
Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
    
 
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Const EWX_LOGOFF = 0
Private Const EWX_SHUTDOWN = 1
Private Const EWX_REBOOT = 2
Private Const EWX_FORCE = 4
Private Const CCDEVICENAME = 32
Private Const CCFORMNAME = 32
Private Const DM_BITSPERPEL = &H40000
Private Const DM_PELSWIDTH = &H80000
Private Const DM_PELSHEIGHT = &H100000
Private Const CDS_UPDATEREGISTRY = &H1
Private Const CDS_TEST = &H4
Private Const DISP_CHANGE_SUCCESSFUL = 0
Private Const DISP_CHANGE_RESTART = 1
Private Type DEVMODE
    dmDeviceName As String * CCDEVICENAME
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * CCFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
End Type

Public GX As Integer '横坐标
Public GY As Integer '纵坐标
'Example



Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1


Public Sub GetScreen()
'    Dim X As Integer '横象素
'    Dim Y As Integer '纵象素
    GX = GetSystemMetrics(SM_CXSCREEN)
    GY = GetSystemMetrics(SM_CYSCREEN)
End Sub
    
    
    
    
    
Public Sub n1()
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "", _
              SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE)
End Sub

Public Sub n2()
Dim wi As Integer
Dim hi As Integer
Dim pi As Integer
Dim master As Long
master = GetDC(0)
pi = GetDeviceCaps(master, BITSPIXEL) '取分辩率
wi = GetDeviceCaps(master, HORZRES)
hi = GetDeviceCaps(master, VHORZRES)
 
Call ban(640, 480, pi)
Call ban(wi, hi, pi)
End Sub

Public Sub n3()
Dim wi As Integer
Dim hi As Integer
Dim pi As Integer
Dim master As Long
master = GetDC(0)
pi = GetDeviceCaps(master, BITSPIXEL) '取分辩率
wi = GetDeviceCaps(master, HORZRES)
hi = GetDeviceCaps(master, VHORZRES)
 
If (pi > 16) Then Call ban(wi, hi, 16)

End Sub

Public Sub ban(x As Integer, y As Integer, z As Integer)



        Dim DevM As DEVMODE '注释:Get the info into
        Dim devmerg As Long
        Dim erg As Long
        Dim an As Long
        devmerg& = EnumDisplaySettings(0&, 0&, DevM) '注释:We don't change the colordepth, because a reboot will be necessary
        DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
        DevM.dmPelsWidth = x 'ScreenWidth
        DevM.dmPelsHeight = y 'ScreenHeight
        DevM.dmBitsPerPel = z '(could be 8, 16, 32 or even 4)
        'Now change the display and check if possible
        erg& = ChangeDisplaySettings(DevM, CDS_TEST)
        'Check if succesfull
        Select Case erg&
        Case DISP_CHANGE_RESTART
            an = MsgBox("You:ve to reboot", vbYesNo + vbSystemModal, "Info")
            If an = vbYes Then
                erg& = ExitWindowsEx(EWX_REBOOT, 0&)
            End If
        Case DISP_CHANGE_SUCCESSFUL
            erg& = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
        Case Else
        End Select
  
  
  
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -