既然能够取得整个屏幕,可以取到整个屏幕以后创建一个全屏窗体显示静态的屏幕图像,然后在窗体上实现部分截取。
网站设计、成都网站设计服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联建站把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!
估计别的截图也是这个原理,因为一点开始截图屏幕就变为静态不动了,肯定是在截图初期复制了当时的屏幕场景
问题:引用原文:“要是换个思路,先截全屏,然后将窗体全屏,让Picturebox占满全屏幕,但是无论利用什么方法(最大化,boderstyle设为none)都遮挡不了任务栏。”
解决方法:经测试,代码可以实现你得要求,即能遮挡任务栏。
设置:在窗体上添加一个PictureBox1,,dock属性设置为Fill。随便导入一张图片用于显示。
代码如下:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized
End Sub
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
Me.Close()
End Sub
End Class
程序截图:
Me.Refresh()
Dim memory As Image = New Bitmap(Me.Width, Me.Height)
Dim g As Graphics = Graphics.FromImage(memory)
g.CopyFromScreen(Me.Left, Me.Top, 0, 0, New Size(Me.Width, Me.Height)) '这里是截屏核心代码
Dim FilePath As String = ""
Dim d As New SaveFileDialog
d.Filter = "JPEG图像|*.JPEG"
If d.ShowDialog = Windows.Forms.DialogResult.OK Then
FilePath = d.FileName
If FilePath = "" Then Exit Sub
'If FilePath.Substring(FilePath.Length - 1, 1) "\" Then FilePath = FilePath "\"
Else
Exit Sub
End If
d.Dispose()
memory.Save(FilePath)
MessageBox.Show("图像已经保存到: " FilePath, "截图成功", MessageBoxButtons.OK, MessageBoxIcon.Information)
INTOUCH自带的就有,打印屏幕的命令
自己写个时间条件运行那命令就可以了
PRINTSCREEN这个命令 具体怎么用 看下帮助
希望我的回答对你有所帮助
如有其他问题,可以继续追问,您的采纳是我前进的动力!
'没办法,需的把窗口隐藏一下,还的隐藏后延迟一下再截图。
Dim WithEvents Timer1 As New Timer With {.Interval = 30, .Enabled = False}
Dim Imgrect As Rectangle
Dim img As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Imgrect = Me.RectangleToScreen(Me.ClientRectangle)
img = New Bitmap(Imgrect.Width, Imgrect.Height)
Me.Hide()
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Stop()
Graphics.FromImage(img).CopyFromScreen(Imgrect.X, Imgrect.Y, 0, 0, Imgrect.Size)
Me.BackgroundImage = img
Me.Show()
End Sub
建立滚动条的方法如下:
(1)将鼠标移到ToolBox内的WinForm标签页的HscrollBar控件上,单击鼠标左键。
(2)将指针移至窗体中适当的位置,按住鼠标左键并拖动鼠标将HscrollBar控件调整到合适的大小放开左键。
(3)同样,再在Form上设置一个VscrollBar控件。