用vb关闭与打开显示器
2008-08-19 09:25
232 查看
在窗口中放置两个按扭名为command1和command2,将下面的代码放到程序中
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion(1 To 128) As Byte
End Type
Private Declare Function SendScreenMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const MONITOR_ON = -1&
Private Const MONITOR_LOWPOWER = 1&
Private Const MONITOR_OFF = 2&
Private Const SC_MONITORPOWER = &HF170&
Private Const WM_SYSCOMMAND = &H112
Private Sub Command1_Click()
If IsNT Then
Call SendScreenMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_LOWPOWER)
Else
Call SendScreenMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal 0)
End If
End Sub
Private Sub Command2_Click()
Call SendScreenMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_ON)
End Sub
Public Function IsNT() As Boolean '判断系统
Dim OSVer As OSVERSIONINFO
OSVer.dwOSVersionInfoSize = LenB(OSVer)
GetVersionEx OSVer
'IsNT = OSVer.dwPlatformId = VER_PLATFORM_WIN32_NT
If OSVer.dwMajorVersion < 5 Then
IsNT = False
ElseIf OSVer.dwMajorVersion >= 5 Then
IsNT = True
End If
End Function
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion(1 To 128) As Byte
End Type
Private Declare Function SendScreenMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const MONITOR_ON = -1&
Private Const MONITOR_LOWPOWER = 1&
Private Const MONITOR_OFF = 2&
Private Const SC_MONITORPOWER = &HF170&
Private Const WM_SYSCOMMAND = &H112
Private Sub Command1_Click()
If IsNT Then
Call SendScreenMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_LOWPOWER)
Else
Call SendScreenMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal 0)
End If
End Sub
Private Sub Command2_Click()
Call SendScreenMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_ON)
End Sub
Public Function IsNT() As Boolean '判断系统
Dim OSVer As OSVERSIONINFO
OSVer.dwOSVersionInfoSize = LenB(OSVer)
GetVersionEx OSVer
'IsNT = OSVer.dwPlatformId = VER_PLATFORM_WIN32_NT
If OSVer.dwMajorVersion < 5 Then
IsNT = False
ElseIf OSVer.dwMajorVersion >= 5 Then
IsNT = True
End If
End Function
相关文章推荐
- word打开与关闭(VB.NET)
- 用API关闭或打开显示器
- C#关闭显示器,打开显示器
- vb.net 关闭所有已经打开的窗体 包括启动窗体
- C# 关闭/打开显示器工具+源码(一个API的简单操作)
- C# 关闭/打开显示器工具
- 显示器的关闭与打开编程
- VB excel 打开无法关闭
- VB中关闭shell打开的外部EXE程序
- C++ 关闭显示器 打开显示器
- 用代码关闭/打开显示器
- vb 浏览器打开关闭通知
- windows 打开和关闭显示器
- C#winform截屏、关机、重启、注销、关闭显示器、打开关闭光驱
- 使用WM_SYSCOMMAND SC_MONITORPOWER控制显示器的打开、关闭和低功耗
- C# 关闭/打开显示器工具+源码(一个API的简单操作)
- 关闭显示器和打开显示器
- C++ 关闭、打开显示器(监视器)
- VB中关闭shell打开的外部EXE程序
- 打开, 关闭显示器