| |
| Detecting if the PrintScreen key has been pressed |
 |
How can I tell if the PrintScreen key has been pressed?
The PrintScreen system key is not processed during the TForm keydown event. The following example tests if the PrintScreen key has been pressed by calling the Windows API function GetAsyncKeyState() during the Application.OnIdle event.
Example:
type
TForm = class(TForm)
Button : TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure AppIdle(Sender: TObject; var Done: Boolean);
public
{ Public declarations }
end;
var
Form : TForm ;
implementation
{$R *.DFM}
procedure TForm .FormCreate(Sender: TObject);
begin
Application.OnIdle := AppIdle;
end;
procedure TForm .AppIdle(Sender: TObject; var Done: Boolean);
begin
if GetAsyncKeyState(VK_SNAPSHOT) <> 0 then
Form .Caption := 'SnapShot';
Done := True;
end;
|
|
| Hits/month |
2,500,000+ |
Downloads (Since May 2000) |
7,393,709 |
| Total Files |
6,023 |
| Forum msgs |
7,670 |
| Articles/FAQs |
70+/900+ |
Top Selling Software at Amazon
|