首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

小弟我想点击菜单上面的一个按钮后,直接就类式与按下了PrintScreen键,但是小弟我对键盘消息不是很清楚,大侠

2012-02-29 
我想点击菜单上面的一个按钮后,直接就类式与按下了PrintScreen键,但是我对键盘消息不是很清楚,请教各位大

我想点击菜单上面的一个按钮后,直接就类式与按下了PrintScreen键,但是我对键盘消息不是很清楚,请教各位大侠!
我是这样实现的:
    在按钮的单击事件里面这样写的:
    SendMessage(Handle,WM_KEYUP,VK_SNAPSHOT,0);
但是没有效果,请问应该怎样写呢?

[解决办法]
不用消息

var
bmp : TBitmap;
ScreenCanvas : TCanvas;

Format : Word;
Data : THandle;
Palette : HPALETTE;
Desktop : THandle;
begin
ScreenCanvas := TCanvas.Create;
Desktop := GetDesktopWindow;
ScreenCanvas.Handle := GetDC(Desktop);

bmp := TBitMap.Create;

bmp.PixelFormat := pf24Bit;
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
bmp.Canvas.CopyRect(Rect(0,0,bmp.Width,bmp.Height),ScreenCanvas,
Rect(0,0,Screen.Width,Screen.Height));

bmp.SaveToClipBoardFormat(Format,Data,Palette);
ClipBoard.SetAsHandle(Format,Data);

bmp.Free;
ReleaseDC(Desktop,ScreenCanvas.Handle);
ScreenCanvas.Free;
end;

[解决办法]
keybd_event(VK_SNAPSHOT,0,0,0);

热点排行