聲明:
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->