Antonio,
In my opinion, Sergey is right: there are several other ways -- for a determined person :) -- to print any screen of your application. Even if you block the PrintScreen key, user can start an application that finds and stores in image file or in the Clipboard any visible window.
* * *
Buttons in Visual FoxPro do not have HANDLE property like they do in Visual Basic. In other words, FoxPro controls are not windowed controls.
If you still want to convert that VB code try to use form's HWND instead of the button's HANDLE. Though it's unlikely to use the SetWindowsHookEx in just Visual FoxPro code, since it requires a pointer to a procedure. I would suggest using the RegisterHotKey API function instead.
* * *
On my web site there is a sample code (members area)
How to block the ALT+TAB shortcut (WinXP)http://www.news2news.com/vfp/?example=432Same approach effectively blocks PrintScreen key.
Also your application can disable the Clipboard (requires VFP9), by this virtually disabling PrintScreen key:
How to disable the Windows Clipboard (requires VFP9)http://www.news2news.com/vfp/?example=488