[求助]想在扫雷程序里添个假雷,遇到了一点麻烦,有人可指点迷津?
我最近刚刚深入研究API 想在扫雷游戏的雷区上添个假雷,迷惑玩家(恶搞外挂,意义不大,只是想试试)先暂时用椭圆函数来做例子
Private Sub Command1_Click()
Dim sljb As Long, sbjb As Long, winrect As RECT,laosbjb as Long
sljb = FindWindow(vbNullString, "扫雷") '寻找游戏窗口的句柄
If sljb = 0 Then
Label1.Caption = "对不起没找到"
Exit Sub
End If
If sljb <> 0 Then Label1.Caption = "找到了 句柄是" & Str(sljb)
sbjb = GetDC(sljb) '获得该窗体的设备句柄
Label2.Caption = "设备句柄是" & Str(sbjb)
laosbjb = sbjb '将老设备句柄保留
Ellipse sbjb, 20, 20, 10, 10 '在一个定点画雷
GetWindowRect sljb, winrect '获得扫雷游戏的窗口大小
BitBlt sbjb, 0, 0, winrect.Right - winrect.Left, winrect.Bottom - winrect.Top, laosbjb, 0, 0, vbSrcCopy '这里大家都应该了解,在刚才画椭圆下windows是先在hDC中绘图,然后用GetDC来创建临时与窗体关联的设备场景,然后把hDC的内容拷到这个临时缓冲设备场景中来最终显示图形。这条语句则等效于强制重画,防止窗体被挡住后"雷"的消失.
ReleaseDC sljb, sbjb
End Sub
我自认为已经想的十分周全了,但是程序执行时雷是画上去了.但遮挡后还是消失了.
谁能告诉我这是怎么回事.希望有高人指出我之不足,谢谢!