FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour DESHABILITAR TECLA PRINT SCREEN
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
DESHABILITAR TECLA PRINT SCREEN
Posted: Wed Oct 21, 2009 02:46 PM

Buenos dias Maestros,

És posible hacer esto en FIVEWIN?

http://support.microsoft.com/kb/35968/pt-br

Maestro Manuel Mercado, Help-me... jejejeje.

Necesito deshabilitar la tecla PRINT SCREEN, para que los usuários no puedan copiar las informaciones de mi programa.

Gracias,

Saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: DESHABILITAR TECLA PRINT SCREEN
Posted: Tue Nov 03, 2009 10:55 AM

Gracias, amado maestro.

Saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: DESHABILITAR TECLA PRINT SCREEN
Posted: Tue Nov 03, 2009 05:15 PM
Hola João:
karinha wrote:Maestro Manuel Mercado, Help-me... jejejeje.

Prueba el siguiente ejemplo... jejejeje
Code (fw): Select all Collapse
#include "FiveWin.ch"

//--------------------------------------------------------------------------------------------------------------------//

Function Main()

   Local oDlg, oBmp

   Define Dialog oDlg From 0, 0 To 500, 600 Title 'Stop Screen printing' Pixel

   @  0,  0 BitMap oBmp FileName "\fwh\bitmaps\cliplogo.bmp" NoBorder

   Activate Dialog oDlg Centered On Init NoPrScrKey()

Return Nil

#pragma BEGINDUMP
#include <Windows.h>
#include <winten.h>
#include <ClipApi.h>

static far HHOOK hKbrd ;
extern HINSTANCE GetInstance( void ) ;
BOOL InstallHook( void ) ;

//--------------------------------------------------------------------------------------------------------------------//

HB_FUNC( NOPRSCRKEY )
{
   InstallHook() ;
}

//--------------------------------------------------------------------------------------------------------------------//

LRESULT CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam )
{

   if( hKbrd && ( ( DWORD ) lParam & 0x40000000 ) && ( HC_ACTION == nCode ) && ( wParam == VK_SNAPSHOT ) )
   {
      OpenClipboard( NULL ) ;
      EmptyClipboard() ;
      CloseClipboard() ;
      PostQuitMessage( 0 ) ;
   }

   return CallNextHookEx( hKbrd, nCode, wParam, lParam ) ;
}

//--------------------------------------------------------------------------------------------------------------------//

BOOL InstallHook()
{
   hKbrd = SetWindowsHookEx( WH_KEYBOARD, ( HOOKPROC ) KeyboardProc, GetInstance(), 0 ) ;

   if( hKbrd )
      return TRUE ;
   else
      return FALSE ;
}

#pragma ENDDUMP

Un abrazo.
manuelmercado at prodigy dot net dot mx
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: DESHABILITAR TECLA PRINT SCREEN
Posted: Tue Nov 03, 2009 07:44 PM
mmercado wrote:Hola João:
karinha wrote:Maestro Manuel Mercado, Help-me... jejejeje.

Prueba el siguiente ejemplo... jejejeje
Code (fw): Select all Collapse
#include "FiveWin.ch"

//--------------------------------------------------------------------------------------------------------------------//

Function Main()

   Local oDlg, oBmp

   Define Dialog oDlg From 0, 0 To 500, 600 Title 'Stop Screen printing' Pixel

   @  0,  0 BitMap oBmp FileName "\fwh\bitmaps\cliplogo.bmp" NoBorder

   Activate Dialog oDlg Centered On Init NoPrScrKey()

Return Nil

#pragma BEGINDUMP
#include <Windows.h>
#include <winten.h>
#include <ClipApi.h>

static far HHOOK hKbrd ;
extern HINSTANCE GetInstance( void ) ;
BOOL InstallHook( void ) ;

//--------------------------------------------------------------------------------------------------------------------//

HB_FUNC( NOPRSCRKEY )
{
   InstallHook() ;
}

//--------------------------------------------------------------------------------------------------------------------//

LRESULT CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam )
{

   if( hKbrd && ( ( DWORD ) lParam & 0x40000000 ) && ( HC_ACTION == nCode ) && ( wParam == VK_SNAPSHOT ) )
   {
      OpenClipboard( NULL ) ;
      EmptyClipboard() ;
      CloseClipboard() ;
      PostQuitMessage( 0 ) ;
   }

   return CallNextHookEx( hKbrd, nCode, wParam, lParam ) ;
}

//--------------------------------------------------------------------------------------------------------------------//

BOOL InstallHook()
{
   hKbrd = SetWindowsHookEx( WH_KEYBOARD, ( HOOKPROC ) KeyboardProc, GetInstance(), 0 ) ;

   if( hKbrd )
      return TRUE ;
   else
      return FALSE ;
}

#pragma ENDDUMP

Un abrazo.



Gracias querido maestro.

Voy probrar.

Saludos
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion