想利用 VB 编程实现屏幕变暗的效果(像关闭 Win95 时的效果),只要按下面的步骤来做: 1. 在 Form1 中加入两个 CommandButton 和一个 PictureBox. 2. 在 Form1 的代码窗口中添加以下代码: Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long Private Declare Function CreatePatternBrush Lib "gdi32" (ByVal hBitmap As Long) As Long Private Declare Function PatBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, ByVal lpRect As Long, ByVal bErase As Long) As Long Private bybits(1 To 16) As Byte Private hBitmap As Long, hBrush As Long Private hDesktopWnd As Long Private Sub Command1_Click() Dim rop As Long, res As Long Dim hdc5 As Long, width5 As Long, height5 As Long hdc5 = GetDC(0) width5 = Screen.Width / Screen.TwipsPerPixelX height5 = Screen.Height / Screen.TwipsPerPixelY rop = &HA000C9 Call SelectObject(hdc5, hBrush) res = PatBlt(hdc5, 0, 0, width5, height5, rop) Call DeleteObject(hBrush) res = ReleaseDC(0, hdc5) End Sub Private Sub Command2_Click() Dim aa As Long aa = InvalidateRect(0, 0, 1) End Sub Private Sub Form_Load() Dim ary Dim i As Long ary = Array(&H55, &H0, &HAA, &H0, _ &H55, &H0, &HAA, &H0, _ &H55, &H0, &HAA, &H0, _ &H55, &H0, &HAA, &H0) For i = 1 To 16 bybits(i) = ary(i - 1) Next i hBitmap = CreateBitmap(8, 8, 1, 1, bybits(1)) hBrush = CreatePatternBrush(hBitmap) Picture1.ForeColor = RGB(0, 0, 0) Picture1.BackColor = RGB(255, 255, 255) Picture1.ScaleMode = 3 End Sub 运行程序,按 Command1 就可以使屏幕暗下来,按 Command2 恢复。  
|