想象一下,将屏幕上的一块图像移动一下,放到别的地方。反复这样操作,结果会怎样?屏幕一定会一塌糊涂。这就是我们这次的恶作剧。
  也许大家已经听说过BitBlt函数了。这个函数很有用的,可以将图像保存到内存,可以将内存中的数据画到屏幕上。不过我们这次不用这些功能,我们直接用它将屏幕上的一块图像复制到另一个地方。
  打开VB,新建一个模块,声明:
Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Public Const SRCCOPY = &HCC0020
  然后,双击窗体,为它编写Form_Load过程:Me.Hide,以便在程序运行时使窗口不可见。
  接着,拖一个时钟出来,设Interval为100,双击并写代码:
Private Sub Timer1_Timer()
    dc& = GetDC(0)
    With Screen
        maxX& = .Width / .TwipsPerPixelX
        maxY& = .Height / .TwipsPerPixelY
    End With
    
    BitBlt dc&, Rnd * maxX&, Rnd * maxY&, Rnd * maxX&, Rnd * maxY&, dc&, Rnd * maxX&, Rnd * maxY&, SRCCOPY
End Sub
  运行一下,效果不错吧?
  说来说去,还是免安装的好用,请下载