我想根据鼠标左键单击的坐标截取屏幕的一部分。
到目前为止,我能做的是用鼠标获取坐标并在标签中显示它们:
Form1.MousePosition.X
和Form1.MousePosition.Y
我得到:
X: 369 Y: 256
我想获取左上角和右下角的坐标,并在鼠标点击的地方截屏。
这可能吗?如何?
我想根据鼠标左键单击的坐标截取屏幕的一部分。
到目前为止,我能做的是用鼠标获取坐标并在标签中显示它们:
Form1.MousePosition.X
和Form1.MousePosition.Y
我得到:
X: 369 Y: 256
我想获取左上角和右下角的坐标,并在鼠标点击的地方截屏。
这可能吗?如何?
这是一个名为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