KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I would like a relatively hack-free way to do this, any ideas? For example, the following takes a screenshot that doesn't include the semi-transparent window: 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 Either my google-fu really sucks or this is not as easy as it sounds. I'm pretty sure why this is happening because of the way the video driver would have to separate the memory to make this work, but I don't care why it doesn't work, I just want to do it without... * print-screen key hacks * 3rd party software * SDK functions are OK but I'll upvote every object owned by the user that can show me it in pure framework (Just kidding but it would be nice). If This is the only way to do it, how to I do that in VB? 1M thanks.
Tags (comma-separated)
Save Edits
Cancel