DESHABILITAR TECLA PRINT SCREEN

DESHABILITAR TECLA PRINT SCREEN

Postby karinha » Wed Oct 21, 2009 2: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
User avatar
karinha
 
Posts: 7315
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Re: DESHABILITAR TECLA PRINT SCREEN

Postby karinha » Tue Nov 03, 2009 10:55 am

Gracias, amado maestro.

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7315
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: DESHABILITAR TECLA PRINT SCREEN

Postby mmercado » Tue Nov 03, 2009 5:15 pm

Hola João:
karinha wrote:Maestro Manuel Mercado, Help-me... jejejeje.

Prueba el siguiente ejemplo... jejejeje
Code: Select all  Expand view
#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
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: DESHABILITAR TECLA PRINT SCREEN

Postby karinha » Tue Nov 03, 2009 7:44 pm

mmercado wrote:Hola João:
karinha wrote:Maestro Manuel Mercado, Help-me... jejejeje.

Prueba el siguiente ejemplo... jejejeje
Code: Select all  Expand view
#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
User avatar
karinha
 
Posts: 7315
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: groiss and 32 guests