Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 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;
    

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use