2

マウスの左クリックの座標に基づいて、画面の一部のスクリーンショットを撮りたいと思います。

これまでにできることは、マウスで座標を取得し、これらをラベルに表示することです:

Form1.MousePosition.XForm1.MousePosition.Y

私は得る:

X: 369  Y: 256

左上隅と右下隅の座標を取得し、マウスをクリックした場所のスクリーンショットを作成したいと考えています。

これは可能ですか?どのように?

4

1 に答える 1

1

と呼ばれる vb.net プログラムを次に示しCapture Screenます。

作成者: Masoud (MD)、提出日: 6/5/2002 6:16:56 AM:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=309&lngWId=10

ファイル内Form1.vbには、VB でスクリーンショットをキャプチャするコードがあります。

Protected Sub CaptureScreen()
    Dim hSDC, hMDC As Integer
    Dim hBMP, hBMPOld As Integer
    Dim r As Integer

    hSDC = CreateDC("DISPLAY", "", "", "")
    hMDC = CreateCompatibleDC(hSDC)

    FW = GetDeviceCaps(hSDC, 8)
    FH = GetDeviceCaps(hSDC, 10)
    hBMP = CreateCompatibleBitmap(hSDC, FW, FH)

    hBMPOld = SelectObject(hMDC, hBMP)
    r = BitBlt(hMDC, 0, 0, FW, FH, hSDC, 0, 0, 13369376)
    hBMP = SelectObject(hMDC, hBMPOld)

    r = DeleteDC(hSDC)
    r = DeleteDC(hMDC)

    oBackground = Image.FromHbitmap(New IntPtr(hBMP))
    DeleteObject(hBMP)
End Sub
于 2012-05-10T05:22:24.857 に答える