读书人

Delphi 中如其及时的捕获PRINT键

发布时间: 2014-01-17 15:01:00 作者: rapoo

Delphi 中如果及时的捕获PRINT键
本人现在需要捕获截图,利用控件:TApplicationEvents
代码如下:
App:TApplicationEvents;

procedure TFm_Sendorder.AppIdle(Sender: TObject; var Done: Boolean);
begin
if GetAsyncKeyState(VK_SNAPSHOT) <> 0 then
begin
//捕获截图代码
end;
end;

目前遇到的问题是:如果是用到此控件的窗口是激活的状态则很正常的截到图,但如果未激活窗口,选择是其他程序,在进入此代码的时间会有2-10的延迟,有什么好办法可以及时进这段代码么?
[解决办法]
4楼不是说得很清楚了么


procedure TFm_Sendorder.aplctnvnts1Idle(Sender: TObject; var Done: Boolean);
var
bmp: TBitmap;
begin
Done := False;
if GetAsyncKeyState(VK_SNAPSHOT) <> 0 then
begin
bmp := TBitmap.Create;
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
OpenClipboard(GetWindow(0, 0));
bmp.Handle := GetClipboardData(CF_BITMAP);
CloseClipboard;
bmp.SaveToFile('c:\' + FormatDateTime('YYYYMMDDmmss', Now) + '.bmp');
bmp.Free;
end;
Sleep(1);
end;

读书人网 >.NET

热点推荐