首页 > 学院 > 开发设计 > 正文

用VB捕捉屏幕图象

2019-11-18 17:38:16
字体:
来源:转载
供稿:网友
声明:
PRivateDeclareFunctionReleaseDCLib"user32"(ByValhwndAsLong,ByValhdcAsLong)AsLong
PrivateDeclareFunctionOpenClipboardLib"user32"(ByValhwndAsLong)AsLong
PrivateDeclareFunctionEmptyClipboardLib"user32"()AsLong
PrivateDeclareFunctionSetClipboardDataLib"user32"(ByValwFormatAsLong,ByValhMemAsLong)AsLong
PrivateDeclareFunctionSelectObjectLib"gdi32"(ByValhdcAsLong,ByValhObjectAsLong)AsLong
PrivateDeclareFunctionDeleteDCLib"gdi32"(ByValhdcAsLong)AsLong
PrivateDeclareFunctionBitBltLib"gdi32"(ByValhDestDCAsLong,
ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValdwRopAsLong)AsLong
PrivateDeclareFunctionCreateDCLib"gdi32"Alias"CreateDCA"(ByVallpDriverNameAsString,ByVallpDeviceNameAsString,ByVallpOutputAsString,lpInitDataAsLong)AsLong
PrivateDeclareFunctionCreateCompatibleDCLib"gdi32"(ByValhdcAsLong)AsLong
PrivateDeclareFunctionCreateCompatibleBitmapLib"gdi32"(ByValhdcAsLong,ByValnWidthAsLong,ByValnHeightAsLong)AsLong
PrivateDeclareFunctionCloseClipboardLib"user32"()AsLong
函数:
SubScrnCap(Lt,Top,Rt,Bot)
rWidth=Rt-Lt
rHeight=Bot-Top
SourceDC=CreateDC("DISPLAY",0,0,0)
DestDC=CreateCompatibleDC(SourceDC)
BHandle=CreateCompatibleBitmap(SourceDC,rWidth,rHeight)
SelectObjectDestDC,BHandle
BitBltDestDC,0,0,rWidth,rHeight,SourceDC,Lt,Top,&HCC0020
Wnd=Screen.ActiveForm.hwnd
OpenClipboardWnd
EmptyClipboard
SetClipboardData2,BHandle
CloseClipboard
DeleteDCDestDC
ReleaseDCDHandle,SourceDC
EndSub
以下的示例把屏幕图象捕捉后,放到Picture1中。
SubCommand1_Click()
Form1.Visible=False
ScrnCap0,0,640,480
Form1.Visible=True
picture1=Clipboard.GetData()
EndSub->


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表