| modWindowTool 函式庫 |
風禹科技驗證有限公司 網站 提供 .Net 原始碼 |
說明
取得螢幕畫面拷貝
本函數之引數列表
| 引數 |
型態 |
位元組 |
選項 |
預設值 |
說明 |
| hWnd |
IntPtr |
4 |
必須 |
(無) |
視窗代號 (hWnd) |
| vLocation |
Point |
- |
必須 |
(無) |
起始點,一般為 (0, 0) |
| vSize |
Size |
- |
必須 |
(無) |
擷取尺寸 |
| rocFlags |
enuRasterOperationCode |
4 |
可省略 |
SRCCOPY |
位元遮罩
| 常數名 |
數值 |
說明 |
| DSINVERT |
5570569 |
反向目標點陣圖,&H00550009 |
| MERGECOPY |
12583114 |
合併模式和來源點陣圖,&HC000CA |
| MERGEPAINT |
12255782 |
用 Or 運算合併反向播放的來源點陣圖和目標點陣圖,&HBB0226 |
| NOTSRCCOPY |
3342344 |
複製反向播放的來源點陣圖到目標點陣圖,&H330008 |
| NOTSRCERASE |
1114278 |
用 Or 運算合併來源點陣圖和目標點陣圖,然後反向播放,&H1100A6 |
| PATCOPY |
15728673 |
將模式複製到目標點陣圖,&HF00021 |
| PATINVERT |
5898313 |
用 Xor 運算合併目標點陣圖與模式,&H5A0049 |
| PATPAINT |
16452105 |
用 Or 運算合併反向播放的來源點陣圖與模式。然後用 Or 運算合併上述結果與目標點陣圖,&HFB0A09 |
| SRCAND |
8913094 |
用 And 運算合併目標像素與來源點陣圖,&H8800C6 |
| SRCCOPY |
13369376 |
複製來源點陣圖到目標點陣圖,&HCC0020 |
| SRCERASE |
71303976 |
反向播放目標點陣圖並用 And 運算合併所得結果與來源點陣圖,&H4400328 |
| SRCINVERT |
6684742 |
用 Xor 運算合併目標像素和來源點陣圖,&H660046 |
| SRCPAINT |
15597702 |
用 Or 運算合併目標像素和來源點陣圖,&HEE0086 |
|
傳回值
傳回 Image 物件
範例
' 擷取表單畫面,Windows 內建熱鍵:Alt+PrintScreen
Dim vLocation As Point = New Point(0, 0)
Dim hWnd As IntPtr = MyFindWindow(, TextBox1.Text)
Dim vSize As Size = GetWindowSize(hWnd)
PictureBox1.Image = GetScreenShot(hWnd, vLocation, vSize)
' 擷取全螢幕畫面,Windows 內建熱鍵:PrintScreen
Dim vLocation As Point = New Point(0, 0)
Dim hWnd As IntPtr = GetDesktopWindow()
Dim vSize As Size = GetWindowSize(hWnd)
PictureBox1.Image = GetScreenShot(hWnd, vLocation, vSize)
更進一步
本函數並未特別處理滑鼠游標,故擷取之圖片不含游標,游標要另外擷取疊加,此外,擷取表單畫面時,若該表單有其他視窗疊在上方,將顯示最上方之畫面,而非完整表單畫面。
基本條件
Visual Studio .Net 2002 以後相容版本 | Window.vb
請參閱
modWindowTool 函式庫