2

我想根据鼠标左键单击的坐标截取屏幕的一部分。

到目前为止,我能做的是用鼠标获取坐标并在标签中显示它们:

Form1.MousePosition.XForm1.MousePosition.Y

我得到:

X: 369  Y: 256

我想获取左上角和右下角的坐标,并在鼠标点击的地方截屏。

这可能吗?如何?

4

1 回答 1

1

这是一个名为Capture Screen.

创建者:Masoud (MD),提交日期:2002 年 6 月 5 日上午 6 点 16 分 56 秒:

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 回答