1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| #!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Win32::API;
$Win32::API::DEBUG = 0;
#
# ATTENTION le lancement du script tel quel efface toutes les icônes du bureau ansi que la barre des tâches
# Il est alors IMPOSSIBLE de lancer quoi que ce soit !
#
# RAPPEL la touche WINDOWS du clavier permet de développer le menu Démarrer à partir duquel on peut lancer
# une INVITE DE COMMANDE qui permettra le réaffichage de toutes les icônes :
# perl BarAff.pl
#
# Le mieux, avant de lancer le script, est d'ouvrir une INVITE DE COMMANDE...
#
# Paramètres de la barre des tâches (Taskbar)
my $lpBarClass = "";
my $lpBarName = "Shell_traywnd";
# Paramètres du bureau (Desktop)
my $lpWndName = "ProgMan";
my $lpWndClass = "Program Manager";
# Création des structures permettant d'accéder aux API
my $GetDesktopWindow = new Win32::API('user32', 'GetDesktopWindow','','I');
my $FindWindowEx = new Win32::API('user32', 'FindWindowEx','IIPP','I');
my $ShowWindow = new Win32::API('user32', 'ShowWindow','II','I');
# Efface la barre des taches sauf le bouton du menu Démarrer
my $hbar = $FindWindowEx->Call( 0, 0, $lpBarName, $lpBarClass );
my $Eventbar = $ShowWindow->Call( $hbar, 0);
# Efface les icônes du bureau
my $hwnd = $FindWindowEx->Call( 0, 0, $lpWndName, $lpWndClass );
my $Eventwnd = $ShowWindow->Call( $hwnd, 0);
# Efface le bouton du menu Démmarer lorsque la barre des tâches est déjà effacée
my $hdsk = $GetDesktopWindow->Call();
my $hbtn = $FindWindowEx->Call($hdsk, 0, 'button', 0);
my $Eventbtn = $ShowWindow->Call($hbtn, 0);
exit (0); |
Partager