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

Delphi 中如其及时的捕获PRINT键

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

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;

热点排行