窗口程序集名 | 保 留 | 保 留 | 备 注 |
(未填写程序集名) | | | |
变量名 | 类 型 | 数组 | 备 注 |
变量名 | 类 型 | 数组 | 备 注 |
集_窗口宽度2K | 整数型 | |
集_窗口高度2K | 整数型 | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
Rect | RECT | | |
局_指针 | 整数型 | | |
如果真 (集_窗口设备DC ≠ 0
)
调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“user32.dll”),
“ReleaseDC”), , , 集_窗口句柄, 集_窗口设备DC
)
调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“gdi32.dll”),
“DeleteDC”), , , 集_窗口场景句柄
)
调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“gdi32.dll”),
“DeleteObject”), , , 集_窗口位图句柄
)集_窗口句柄 = 参_窗口句柄调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“user32.dll”),
“GetWindowDC”), , 集_窗口设备DC, 参_窗口句柄
)集_窗口宽度2K = 参_宽度
集_窗口高度2K = 参_高度
集_位图点阵长度 =
位图_取颜色数据长度 (集_窗口宽度2K, 集_窗口高度2K, 24
)集_窗口位图 =
{ 66, 77, 54, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 14, 0, 0, 196, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
} +
取空白字节集 (集_位图点阵长度
)局_指针 =
PtrBin (集_窗口位图
)集_窗口位图信息指针 = 局_指针 + 14
集_窗口位图颜色指针 = 局_指针 + 54
PtrSetInt (局_指针, 2, 54 + 集_位图点阵长度
)PtrSetInt (局_指针, 18, 集_窗口宽度2K
)PtrSetInt (局_指针, 22, 集_窗口高度2K
)PtrSetInt (局_指针, 34, 集_位图点阵长度
)调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“gdi32.dll”),
“CreateCompatibleDC”), , 集_窗口场景句柄, 0
)调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“gdi32.dll”),
“CreateDIBSection”), , 集_窗口位图句柄, 集_窗口场景句柄, 集_窗口位图信息指针, 0,
PtrInt (集_位图点阵指针
), 0, 0
)调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“gdi32.dll”),
“SelectObject”), , , 集_窗口场景句柄, 集_窗口位图句柄
)调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“user32.dll”),
“PrintWindow”), , , 参_窗口句柄, 集_窗口场景句柄, 0
) |
截图2K | 字节集 | |
|
参_窗口句柄 | 整数型 | | | |
参_起点X | 整数型 | | | | 参_起点Y | 整数型 | | | | 参_宽度 | 整数型 | | | | 参_高度 | 整数型 | | | | 参_宽度2K | 整数型 | | | | 参_高度2K | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
局_BitX | 整数型 | | |
局_BitY | 整数型 | | |
局_窗口宽度新 | 整数型 | | |
局_窗口高度新 | 整数型 | | |
局_指针 | 整数型 | | |
局_位图点阵长度 | 整数型 | | |
参_窗口句柄 =
选择 (参_窗口句柄 = 0, 65552, 参_窗口句柄
)
如果 (集_窗口设备DC = 0
或 参_窗口句柄 ≠ 集_窗口句柄
或 集_窗口宽度2K = 0
或 集_窗口高度2K = 0
)
初始化窗口2K (参_窗口句柄,
选择 (参_宽度2K > 0, 参_宽度2K, 2560
),
选择 (参_宽度2K > 0, 参_宽度2K, 1440
))

如果真 (参_宽度2K > 集_窗口宽度2K
或 参_高度2K > 集_窗口高度2K
)
初始化窗口2K (参_窗口句柄,
选择 (参_宽度2K > 0, 参_宽度2K, 2560
),
选择 (参_宽度2K > 0, 参_宽度2K, 1440
))
局_窗口宽度新 = 选择 (参_宽度 = 0, 集_窗口宽度2K, 参_宽度)局_窗口高度新 =
选择 (参_高度 = 0, 集_窗口高度2K, 参_高度
)局_BitX = 参_起点X
局_BitY = 参_起点Y
调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“gdi32.dll”),
“BitBlt”), , , 集_窗口场景句柄, 0, 0, 局_窗口宽度新, 局_窗口高度新, 集_窗口设备DC, 局_BitX, 局_BitY, 13369376
)
如果真 (局_窗口宽度新 = 集_窗口宽度2K
且 局_窗口高度新 = 集_窗口高度2K
)
RtlMoveMemory_整数型 (集_窗口位图颜色指针, 集_位图点阵指针, 集_位图点阵长度
)
返回 (集_窗口位图
)
如果 (局_窗口宽度新 = 集_窗口宽度新
且 局_窗口高度新 = 集_窗口高度新
)

集_窗口宽度新 = 局_窗口宽度新

集_窗口高度新 = 局_窗口高度新

局_位图点阵长度 =
位图_取颜色数据长度 (局_窗口宽度新, 局_窗口高度新, 24
)
集_窗口位图新 =
{ 66, 77, 54, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 14, 0, 0, 196, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
} +
取空白字节集 (局_位图点阵长度
)
局_指针 =
PtrBin (集_窗口位图新
)
集_窗口位图信息数据指针新 = 局_指针 + 14

集_窗口位图颜色数据指针新 = 局_指针 + 54
PtrSetInt (局_指针, 2, 54 + 局_位图点阵长度
)
PtrSetInt (局_指针, 18, 局_窗口宽度新
)
PtrSetInt (局_指针, 22, 局_窗口高度新
)
PtrSetInt (局_指针, 34, 局_位图点阵长度
)调用子程序_通用型 (GetProcAddress_汇编 (GetModuleHandleA_汇编 (“gdi32.dll”), “GetDIBits”), , , 集_窗口场景句柄, 集_窗口位图句柄, 0, 集_窗口高度新, 集_窗口位图颜色数据指针新, 集_窗口位图信息数据指针新, 0)返回 (集_窗口位图新
)