为什么这段程序运行1次没问题,运行2次可以,运行3次就花屏呢?哪里出了问题?
Option Explicit
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As LongPrivate Sub Command2_Click()
Dim CFF As ColorConstantsDim i As Integer
Dim j As IntegerDim x As Integer
Dim y As Integer
x = Val(Text1.Text)
y = Val(Text2.Text)
For i = 1 To 100
For j = 1 To 50
CFF = GetPixel(GetDC(0), i, j)
Call SetPixel(Me.hdc, i, j, CFF)
DoEvents
Next
Next
End Sub
Option Explicit
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As LongPrivate Sub Command2_Click()
Dim CFF As ColorConstantsDim i As Integer
Dim j As IntegerDim x As Integer
Dim y As Integer
x = Val(Text1.Text)
y = Val(Text2.Text)
For i = 1 To 100
For j = 1 To 50
CFF = GetPixel(GetDC(0), i, j)
Call SetPixel(Me.hdc, i, j, CFF)
DoEvents
Next
Next
End Sub
解决方案 »
- 用vb设置代理
- 关于高用Word打印的问题?
- 请教:我这样写哪里错了(一个简单的ActiveX Exe例子)
- 有没有办法使用Shell调用的Dos程序运行时的信息,在VB程序中显示出来?
- 关于SCROLLBAR的问题
- 100分 ,20 分钟结帐!! VB生成的*.exe文件那个的运行包,网上下的,5M左右,我忘记在哪里了。连名字都拼不起来了。 急! 100分,20
- 盼望各位英雄给出解决方法,不胜感激
- 太菜的问题,大家不要见笑,我从哪里可以找到Grid控件(在线等待)
- 大家都玩过qq 了吧,当它安装完成后,系统会一起装了一个“腾讯explorer"
- 有什么软件可以将我的程序加密30天就过期?
- 关于MEDIA PLAY 在线等待如果通过马上结帐
- 一个很不错的学习资料网站,有很多教学视频资料下载,晚了就没了.
环境win2000 server sp3
我不会释放这个DC,用set =nothing or =null or =0 or kill都不行?
Private Declare Function GetDesktopWindow Lib "user32" () As Long '+++++++++++
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 GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As LongPrivate Sub Command1_Click()
Dim CFF As ColorConstantsDim i As Integer
Dim j As IntegerDim lDesktopDC As Long '+++++++++++lDesktopDC = GetDC(0) '+++++++++++For i = 1 To 100
For j = 1 To 50
CFF = GetPixel(lDesktopDC, i, j) '+++++++++++
SetPixel Me.hdc, i, j, CFF
DoEvents
Next
NextReleaseDC GetDesktopWindow(), lDesktopDC '++++++++++++End Sub