begin process at 2012 02 13 01:06:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > APPLI RIGOLOTE POUR EXEMPLE DE DÉSACTIVATION DE CONTROL/ALT/SUPPR ET GENERATION DYNAMIQUE DE FORMS

APPLI RIGOLOTE POUR EXEMPLE DE DÉSACTIVATION DE CONTROL/ALT/SUPPR ET GENERATION DYNAMIQUE DE FORMS


 Information sur la source

Note :
8,83 / 10 - par 18 personnes
8,83 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Niveau :Initié Date de création :18/01/2003 Date de mise à jour :19/01/2003 11:45:58 Vu / téléchargé :4 195 / 445

Auteur : Ouneufe

Ecrire un message privé
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Le dernier rapport des experts vient de tomber : la maladie de Creutzfeld Jacob est transmissible à Windows ! ça a l'air d'une blague mais vous n'allez pas rigoler longtemps car pseudo virus mais virus quand même si vous ignorez la façon de vous en sortir. Allez, je vous donne le truc : tapez "Ouneufe" en aveugle et tout disparaît.
  

Source

  • ' DANS UNE FEUILLE NOMMEE FLE
  • 'Cette petite appli débile a pour mérite de fournir :
  • '- quelques exemples de programmation événementielle
  • '( cour-circuitage de l'évenement "Unload" de la feuille et
  • 'reconnaissance d 'une séquence saisie au clavier sur la feuille,
  • 'mousemove, etc...)
  • '
  • '- 2 exemples d'utilisation d'API (Pour conserver la fenêtre
  • 'au premier plan et désactiver Ctrl-alt-suppr -> ne fonctionne pas sous XP)
  • '
  • '- 1 exemple de génération dynamique de feuille
  • '
  • '- d'autres petits trucs comme positionnement aléatoire de la feuille
  • Option Explicit
  • ' Déclaration d'API pour CRTL-ALT-SUPPR
  • Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
  • (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, _
  • ByVal fuWinIni As Long) As Long
  • ' Déclaration de constante
  • Private Const SPI_SCREENSAVERRUNNING = 97
  • 'API nécessaire pour le mode "toujours visible"
  • Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, _
  • ByVal hWndInsertAfter _
  • As Long, ByVal X _
  • As Long, ByVal Y _
  • As Long, ByVal cx _
  • As Long, ByVal cy _
  • As Long, ByVal wFlags _
  • As Long) As Long
  • 'DEPLACEMENT APIS
  • Private Sub Form_Load()
  • Dim nRet As Long
  • ' Dimensions et coordonnées aléatoires
  • Label1.Width = Me.Width
  • Label1.Height = Me.Height
  • Randomize (Timer)
  • Me.Left = Rnd * (Screen.Width - Me.Width)
  • Me.Top = Rnd * (Screen.Height - Me.Height)
  • ' Désactive ctrl_alt_suppr
  • CTRL_ALT_SUPPR (False)
  • ' Toujours visible
  • Dim Resultat As Long
  • Const Flags = &H2 Or &H1 Or &H40 Or &H10
  • Resultat = SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, Flags)
  • Me.SetFocus
  • ' masquer dans le gestionnaire des tâches
  • App.TaskVisible = False
  • End Sub
  • ' FERMETURE IMPOSSIBLE (si KITE = FALSE)
  • Private Sub Form_Unload(Cancel As Integer)
  • ' Test si autorisation de quitter alors fermeture de toutes les feuilles
  • If KITE = True Then
  • Dim F As Form
  • For Each F In Forms
  • Unload F
  • Next
  • Exit Sub
  • End If
  • ' si je suis ici, l'autorisation de fermer est refusée : nouvelle instance de la form FLE
  • Dim Nform As Form
  • Set Nform = New FLE
  • Nform.Show
  • Cancel = 1
  • End Sub
  • ' Cette procédure permet de désactiver (et réactiver) les combinaisons :
  • ' CTRL+ALT+SUPPR, CTRL+ECHAP et ALT+TAB
  • Public Sub CTRL_ALT_SUPPR(blOFF As Boolean)
  • ' Si blOFF = True, désactive CTRL+ALT+SUPPR
  • ' Si blOFF = False, active de nouveau CTRL+ALT+SUPPR
  • Dim lgRep As Long
  • lgRep = SystemParametersInfo(SPI_SCREENSAVERRUNNING, Not blOFF, False, 0)
  • End Sub
  • ' ECHAPPER A CET ENFER -> saisie de "OUNEUFE" au clavier en aveugle
  • Private Sub Form_KeyPress(keyascii As Integer)
  • ' Rendre Ctrl-alt-suppr à nouveau valide et autorisation de fermeture
  • Pass = Pass & Chr(keyascii):
  • If UCase(Right(Pass, 7)) = "OUNEUFE" Then
  • CTRL_ALT_SUPPR (True): KITE = True: Unload Me
  • End If
  • End Sub
  • ' effet savonnette
  • Private Sub label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  • Randomize (Timer)
  • Me.Left = Rnd * (Screen.Width - Me.Width)
  • Me.Top = Rnd * (Screen.Height - Me.Height)
  • End Sub
  • ' DANS UN MODULE
  • ' Ces variable sont globales pour concerner toutes les feuilles créées dynamiquement
  • Public Pass As String
  • Public KITE As Boolean
' DANS UNE FEUILLE NOMMEE FLE
'Cette petite appli débile a pour mérite de fournir :
'- quelques exemples de programmation événementielle
'( cour-circuitage de l'évenement "Unload" de la feuille et
'reconnaissance d 'une séquence saisie au clavier sur la feuille,
'mousemove, etc...)
'
'- 2 exemples d'utilisation d'API (Pour conserver la fenêtre
'au premier plan et désactiver Ctrl-alt-suppr -> ne fonctionne pas sous XP)
'
'- 1 exemple de génération dynamique de feuille
'
'- d'autres petits trucs comme positionnement aléatoire de la feuille

Option Explicit

' Déclaration d'API pour CRTL-ALT-SUPPR
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
     (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, _
    ByVal fuWinIni As Long) As Long
' Déclaration de constante
Private Const SPI_SCREENSAVERRUNNING = 97


'API nécessaire pour le mode "toujours visible"
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, _
                                ByVal hWndInsertAfter _
                                As Long, ByVal X _
                                As Long, ByVal Y _
                                As Long, ByVal cx _
                                As Long, ByVal cy _
                                As Long, ByVal wFlags _
                                As Long) As Long


 'DEPLACEMENT APIS

Private Sub Form_Load()
    Dim nRet As Long

    ' Dimensions  et coordonnées aléatoires
    Label1.Width = Me.Width
    Label1.Height = Me.Height
    Randomize (Timer)
    Me.Left = Rnd * (Screen.Width - Me.Width)
    Me.Top = Rnd * (Screen.Height - Me.Height)
   
    ' Désactive ctrl_alt_suppr
    CTRL_ALT_SUPPR (False)
       
    ' Toujours visible
    Dim Resultat As Long
    Const Flags = &H2 Or &H1 Or &H40 Or &H10
    Resultat = SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, Flags)
    Me.SetFocus
    
    ' masquer dans le gestionnaire des tâches
    App.TaskVisible = False

    
End Sub



' FERMETURE IMPOSSIBLE (si KITE = FALSE)

Private Sub Form_Unload(Cancel As Integer)

    ' Test si autorisation de quitter alors fermeture de toutes les feuilles
    If KITE = True Then
        Dim F As Form
        For Each F In Forms
            Unload F
        Next
        Exit Sub
    End If
    
    ' si je suis ici, l'autorisation de fermer est refusée : nouvelle instance de la form FLE
    Dim Nform As Form
    Set Nform = New FLE
    Nform.Show
    Cancel = 1

End Sub


' Cette procédure permet de désactiver (et réactiver) les combinaisons :
' CTRL+ALT+SUPPR, CTRL+ECHAP et ALT+TAB
Public Sub CTRL_ALT_SUPPR(blOFF As Boolean)
    ' Si blOFF = True, désactive CTRL+ALT+SUPPR
    ' Si blOFF = False, active de nouveau CTRL+ALT+SUPPR
    Dim lgRep As Long
    lgRep = SystemParametersInfo(SPI_SCREENSAVERRUNNING, Not blOFF, False, 0)
End Sub


' ECHAPPER A CET ENFER -> saisie de "OUNEUFE" au clavier en aveugle
Private Sub Form_KeyPress(keyascii As Integer)
    ' Rendre Ctrl-alt-suppr à nouveau valide et autorisation de fermeture
    Pass = Pass & Chr(keyascii):
    
    If UCase(Right(Pass, 7)) = "OUNEUFE" Then
    CTRL_ALT_SUPPR (True): KITE = True: Unload Me
    End If
End Sub

'  effet savonnette
Private Sub label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
     Randomize (Timer)
     Me.Left = Rnd * (Screen.Width - Me.Width)
     Me.Top = Rnd * (Screen.Height - Me.Height)
End Sub


' DANS UN MODULE
' Ces variable sont globales pour concerner toutes les feuilles créées dynamiquement
Public Pass As String
Public KITE  As Boolean

 Conclusion

Une petite appli débile mais qui permet de se faire à l'usage des API et d'autres petits trucs.  n

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture OCX ET SA SOURCE POUR OBTENIR UNE PICTUREBOX SKINABLE
TRI RAPIDE (QUICKSORT) D'UN TABLEAU DE CHAÎNES DE CARACTÈRES
Source avec Zip BARRE DE PROGRESSION SOFT ET AVEC CHANGEMENT DE COULEUR DU T...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

Commentaires et avis

Commentaire de wbr le 18/01/2003 05:12:27

ahh je l'aime trop ton appli! c un super blague a faire ça! un peu ti 8/10 lol j'aime trop ça!

Commentaire de sebleboss2002 le 18/01/2003 08:49:03

Mouaih... Niveau code, c'est pas mal, mais niveau utilité ;)
Au fait : Moi, quand je fais Ctrl+Alt+Suppr, je la vois ton appli dans le menu !

Commentaire de EBArtSoft le 18/01/2003 10:25:32 administrateur CS

C'est vrais c'est plutot inattendu comme truc....

C'est marrant et c'est plutot bien fait le code et clair et simple
comme wbr je met 8/10

@+

Commentaire de Ouneufe le 18/01/2003 20:13:12

Merci pour les commentaires, c'est vrai que la paralysie de ctrl-alt-suppr ne fonctionne pas sous XP tiens.

Commentaire de Kirua le 19/01/2003 01:48:10

excellent :D vraiment sympa ^^ 8 aussi

Commentaire de indianajones59 le 19/01/2003 10:20:30

Ce p'tit programme ne casse pas trois pattes à un canard mais il a le mérite d'être clair et détaillé au niveau des commentaires. Il a un coté didactique qui plaira à beaucoup. Le prog est sympa 8/10. PS un copier/coller du code aurait été bien sur lors de la création de la fiche sur vbfrance... a+

Commentaire de doggy le 19/01/2003 10:45:59

Très bel exemple d'utilisation d'API je trouve ! Simple, clair, commenté ...
Juste 1 p'tit truc, sous 2k, l'appli n'est certes pas visible dans les applis, mais prion.exe est quand même visible dans les process... et utilise 2960Ko :-D (et on peut le tuer bien sûr)
Enfin bon ... je suis qunad même d'accord avec la majorité des posts ici ... 8/10 c'est mérité pour la clarté du code

Commentaire de kloo le 19/01/2003 14:27:31

J'adooooore, simple, bien commenté, rigolo,...

une belle petite appli tout chouette.

9/10
@+
..:: k-loo ::..

Commentaire de jjmaster le 30/06/2004 15:43:02

Une remarque. ca ne fonctionne pas non plus sous win2000. Dommage, je recherche comment bloqué le clavier et toute les combinaisons de touches qui permette de quitter l'application

Merci de repondre si vous avez une reponse (ou une source à m'indiqué)

Commentaire de sylvanox le 06/05/2006 21:18:48

Merci c'est super !! 9/10 ;-)

Commentaire de bricomaniac le 20/08/2006 18:46:46

c'est nul je suis infesté de vaches

Commentaire de Tenanio le 14/03/2008 14:49:54 9/10

Excellent ce programme.

Commentaire de Galactus13 le 27/11/2009 14:58:26 9/10

Très rigolo come virus! enfin, c'est vache quoi !...

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales