我想要一個相對無破解的方式來做到這一點,任何想法?例如,下面以截圖不包括半透明窗口:捕獲屏幕截圖包括.NET中的半透明窗口
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
Text = "Opaque Window"
Dim win2 As New Form
win2.Opacity = 0.5
win2.Text = "Tranparent Window"
win2.Show()
win2.Top = Top + 50
win2.Left = Left() + 50
Dim bounds As Rectangle = System.Windows.Forms.Screen.GetBounds(Point.Empty)
Using bmp As Bitmap = New Bitmap(bounds.Width, bounds.Height)
Using g As Graphics = Graphics.FromImage(bmp)
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size)
End Using
bmp.Save("c:\temp\scn.gif")
End Using
Process.Start(New Diagnostics.ProcessStartInfo("c:\temp\scn.gif") With {.UseShellExecute = True})
End Sub
End Class
無論是我的谷歌福真的很爛或者這並不像聽起來那麼容易。我很確定爲什麼會發生這種情況,因爲視頻驅動程序必須將內存分開才能完成這項工作,但我不在乎它爲什麼不起作用,我只是想不這樣做......
*打印屏幕鍵黑客
*第三方軟件
* SDK功能是確定的,但我會給予好評的,可以告訴我,它在純框架用戶所擁有的所有對象(開個玩笑,但是這將是很好)。
如果This是唯一的方法來做到這一點,如何在VB中做到這一點?
1M謝謝。
「如果這是做到這一點的唯一方法......」一個小小的研究似乎表明,這也行不通。 – FastAl 2010-06-18 18:54:01