[.NET] 對模擬器截圖的問題請教

作者: ReplacedToy (六月二十八日)   2018-03-26 20:35:12
各位大大好,小弟第一次在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的時候
不知道版上各位大大有沒有能夠提點小弟的地方呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com