永发信息网

怎样把目标窗口复制(bitblt)到我的窗口?

答案:2  悬赏:0  手机版
解决时间 2021-01-25 00:15
我的目的是要把目标窗口(是游戏窗口)的内容复制到我的窗口中。代码如下:但是复制的内容是桌面的内容,请问是什么原因?应怎样改正。
Private 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
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Dim SourceDC As Long
Dim DescRect As RECT
Private Const GWL_WNDPROC = (-4)
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Const PATCOPY = &HF00021 ' (DWORD) dest = pattern

Sub Size()
With DescRect
.Left = 0
.Top = 0
.Right = Me.Width / 15
.Bottom = Me.Height / 15
End With
End Sub

Private Sub Form_Load()
SourceDC = GetDC(2622462)
Call Size
End Sub

Private Sub Form_Resize()
Call Size
End Sub

Private Sub Timer1_Timer()
With DescRect
BitBlt Me.hDC, .Left, .Top, .Right, .Bottom, SourceDC, .Left, .Top, SRCCOPY
End With
End Sub

2622462这个是我通过其他途径得到的窗口句柄,当然在你测试的时候可以改。
游戏窗口若没被遮挡运行是正确的!
最佳答案
不太明白为啥是这样子
SourceDC = GetDC(2622462)
GetDC(指定窗口窗口句柄)
这个句柄(hWnd)应该是通过枚举,或通过窗口名类名查找获取的窗口句柄。
全部回答
内存设备上下文; 和客户设备上下文
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
lol我剑圣,对面龙龟,我应该出什么样的装备
梦见路一边下雨一边晴天
想想过去哪些日子、孩子小,家庭穷,别说外人
【高中英文自我介绍】一篇高中入学英语自我介
100M的共用宽带,迅雷下载速度1M以上,看高清
饥荒毒菇boss怎么打
随县宾馆地址好找么,我有些事要过去
著名历史学家章开沅曾说:“1895年中国有三个
别人家忘关水龙头,我们家漏水了,泡了,几天,家
有一个男孩子追我,我答应考虑考虑,晚上睡觉
羊肉汤放,什么东西才能变白
【如何提高阅读能力】怎样提高一个人的阅读能
【水烟是什么】水烟是什么
有厌乌屋及乌这个词吗?
考研线性代数 什么时候复习
推荐资讯
女生年轻时候任性,可当24了,看见身边的女生
【bushi】bushi意思?
丹参治疮痈肿痛,是因为其能A.活血化瘀B.凉血
载根据意思写字组词1.用交通工具装2.年3.记在
莱芜市莱城区大王庄镇后卞庄村幼儿园地址在什
mosaicism和chimerism有什么区别
镜淞源命理风水馆地址有知道的么?有点事想过
根据《民事诉讼法》的规定,关于简易程序的特
求购开山牌高风压21立方26公斤的柴油移动空压
中国移动光网宽带常掉网,掉下来后,重新拔插
小夏茶水店地址在哪,我要去那里办事
地球是什么样的球体?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?