屏幕抓取
var
Fullscreen:TBitmap;
FullscreenCanvas:TCanvas;
DC:HDC;
begin
Fullscreen:=TBitmap.Create;
Fullscreen.Width:=screen.width;
Fullscreen.Height:=screen.Height;
DC:=GetDC(0);
//取得屏幕的DC,参数0指的是屏幕
FullscreenCanvas:=TCanvas.Create;
//创建一个CANVAS对象
FullscreenCanvas.Handle:=DC;
Fullscreen.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height),
fullscreenCanvas,Rect(0,0,Screen.Width,Screen.Height));
//把整个屏幕复制到BITMAP中
FullscreenCanvas.Free;
ReleaseDC(0,DC);
//释放DC
Image1.Picture.Bitmap:=fullscreen;
Image1.Width:=fullscreen.Width;
Image1.Height:=fullscreen.Height;
fullscreen.free;
|
还有学到的api函数记录
GetCursorPos(pt) ; //获取鼠标当前位置
hd := WindowFromPoint(pt); //获取某一点所在的窗口的句柄
GetClassName(hd,classname,255); //由句柄获取类名
Memo1.Lines.Add(classname); //memo用法
if (Memo1.Lines.Count > 20) then
Memo1.Lines.Clear;
form有clientwidth和clientheight属性,客户区大小控制使用。
注意keypress事件和keyup,keydown的参数不同,前者传的键是char型,后两个是word型。前者只接受ASCII键触发,后两个接受所有键并且对应虚拟键码(VK_XX)
阅读(538) | 评论(0) | 转发(0) |