ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Comment faire disparaitre le "Start" et autres   



L'auteur

Mike Gagnon
Canada Canada
Membre Simple
# 0000000025
enregistré le 14/10/2004

Gagnon Mike
Pte Claire Quebec - Canada
de la société MCRG Software
Fiche personnelle


Note des membres
18/20
1 vote


Contributions > 05 - API et appels systèmes

Comment faire disparaitre le "Start" et autres
# 0000000250
ajouté le 30/10/2005 13:43:27 et modifié le 29/03/2006
consulté 6362 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0
VFP 6.0
VFP 5.0

Description

Pour ceux qui travaillent sur des applications 'contrôlées' de Kiosques. Voici quelques suggestions.
1. Comment faire disparaître le bouton « Start » pour empêcher l’utilisateur de fouiller trop loin dans l’ordinateur. Attention! Ce code détruit le bouton Start, aucune possibilité de le faire revenir, a moins de repartir le PC.
2. Comment cacher la barre de tâches de Windows. Et la faire revenir.

Code source :
&& 1. Comment détruire le bouton 'Start'

DECLARE LONG FindWindow IN "user32" STRING lpClassName, STRING lpWindowName
DECLARE LONG SendMessage IN "user32" LONG hWndLONG wMsg, LONG wParam, LONG lParam
DECLARE LONG FindWindowEx IN "user32" LONG hWnd1, LONG hWnd2, STRING lpsz1, STRING lpsz2
#DEFINE WM_CLOSE 0x10
SendMessage(FindWindowEx(FindWindow("Shell_TrayWnd"""), 0x0, "Button", .NULL.), WM_CLOSE, 0, 0)

&& 2 Comment rendre le bouton "Start" disable

Declare INTEGER FindWindowEx IN user32.dll ;
         LongLongstringString

Declare INTEGER EnableWindow IN user32.dll LongLong

=EnableStartMenuButton(0)
=INKEY(10)
=EnableStartMenuButton(1)

PROCEDURE EnableStartMenuButton(liEnable)
* Don't forget to re-enable it !
LOCAL lHwnd
lHwnd = FindWindowEx(0, 0, "Shell_TrayWnd", .NULL.)
lHwnd = FindWindowEx(lHwnd, 0, "Button", .NULL.)
=EnableWindow(lHwnd, liEnable)


&& 3. Comment cacher la barre de tâches de Windows

if MESSAGEBOX("Click OK to hide the taskbar",1)=1
  HideTaskBar()
endif

FUNCTION HideTaskBar
    DECLARE LONG FindWindow IN "user32" STRING lpClassName, STRING lpWindowName
    DECLARE LONG SetWindowPos IN "user32" LONG hWndLONG hWndInsertAfter, LONG x, LONG Y, LONG cx, LONG cy, LONG wFlags
    #DEFINE WINDOWHIDE 0x80
    #DEFINE WINDOWSHOW 0x40
    LOCAL lnHandle
    lnHandle = FindWindow("Shell_TrayWnd""")
    SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWHIDE)
ENDFUNC

&& Pour la faire revenir

SHOWTASKBAR()

FUNCTION ShowTaskBar
    DECLARE LONG FindWindow IN "user32" STRING lpClassName, STRING lpWindowName
    DECLARE LONG SetWindowPos IN "user32" LONG hWndLONG hWndInsertAfter, LONG x, LONG Y, LONG cx, LONG cy, LONG wFlags
    #DEFINE WINDOWHIDE 0x80
    #DEFINE WINDOWSHOW 0x40
    LOCAL lnHandle
    lnHandle = FindWindow("Shell_TrayWnd""")
    SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWSHOW)
ENDFUNC


Commentaires
le 05/11/2006, Olivier Hamou a écrit :
Bravo Mike,

c'est exactement ce qui me fallait , afin d'avoir le plus de securité possible.!

Olivier


Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3