0

こんにちは、今回はこのコードに関連する質問です。ビジュアル スタジオ ベータ 2012 を使用しています。問題が見つからないようです。

Public Class Form1

    Private Sub fullScreen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles fullScreen.Click
        SendKeys.SendWait("^{PRTSC}")
        Dim clip As IDataObject = Clipboard.GetDataObject()
        If clip.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
            Dim screenCapture As Bitmap = CType(clip.GetData(GetType(System.Drawing.Bitmap)), Bitmap)
            screenCapture.Save("C:\fullScreenCapture.bmp")
        End If
        Clipboard.Clear()
    End Sub
End Class

エラー :

A first chance exception of type 'System.Runtime.InteropServices.ExternalException' occurred in System.Drawing.dll

追加情報: Error genérico en GDI+.

この例外のハンドラがあれば、プログラムは安全に続行できます。

4

2 に答える 2

0

以下を使用すると、より簡単にスクリーンショットを撮ることができます(私の経験では、送信キーは常にヒットとミスです)

Private Function TakeScreenShot() As Bitmap
    Dim scrn As Screen = Screen.FromControl(Me)
    Dim screenSize As Size = New Size(scrn.Bounds.Width, scrn.Bounds.Height)
    Dim screenGrab As New Bitmap(screenSize.Width, screenSize.Height)
    Dim g As Graphics = Graphics.FromImage(screenGrab)
    g.CopyFromScreen(New Point(scrn.Bounds.X, scrn.Bounds.Y), New Point(0, 0), screenSize)
    Return screenGrab
End Function
于 2012-07-13T08:22:07.847 に答える
0

画面をキャプチャしようとしていますか?VS のクラスを使用して画面をキャプチャしてみませんか?

http://forum.codecall.net/topic/51761-creating-a-screen-shot-tool-vbnet

于 2012-07-13T08:11:29.153 に答える