作者ReplacedToy (六月二十八日)
看板Visual_Basic
标题[.NET] 对模拟器截图的问题请教
时间Mon Mar 26 20:35:12 2018
各位大大好,小弟第一次在vb板上发文
之前小弟有完成利用vb完成对BlueStacks整个视窗抓进form表里面 (Setparent)
接着对me.handle截图,成功的截图并且实现按键精灵的程式
程式在背景一样可以正常运作
但是小弟有个坏习惯,就是没有备份的习惯
装有原本程式码的硬碟就在去年年底的时候硬生生的死在了我的面前
再救出来的档案里面,我试着从未完成的版本动工
问题来了,再抓进视窗之後,对Me.Handle截图後的图片会卡在第一次截图的图片
但是抓进form表里面的模拟器一样正常运作
CaptureScreen的Function如下
'index = 0
PUublic Sub CaptureScreen()
hsdc = GetWindowDC(Me.handle)
'hsdc = CreateDC("DISPLAY" , "" , "" ,"")
hmdc = CreateCompattibleDC(hsdc)
intWidth = Me.Width
intHeight = Me.Height
bmpHandle = CreateCompatibleBitmap(hmdc , intWidth, intHeight)
OLDbmpHandle = SelectObject(hmdc , OLDbmpHandle)
releaseDC = DeleteDC(hsdc)
releaseDC = DeleteDC(hmdc)
bmpBackground = Image.FromHbitmap(New IntPtr(bmpHandle))
DeleteObject(bmpHandle)
End Sub
bmpBackground.Save("Capture.png")
Me.Text = "index = "index.ToString
CaptureScreen()之後的图片会是截图的瞬间
再接下来CaptureScreen()只能截到刚刚第一次截图的瞬间
同样将setparent的hwnd换成浏览器、记事本等等CaptureScreen都会正常截图
两者有个同样的地方,唯有form的视窗标题没有更新,卡在第一次CaptureScreen的时候
不知道版上各位大大有没有能够提点小弟的地方呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.174.96.108
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1522067714.A.B2F.html