begin process at 2012 05 27 16:17:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > FENETRE AVEC BOUTON ALERTE AU VIRUS!

FENETRE AVEC BOUTON ALERTE AU VIRUS!


 Information sur la source

Note :
5,2 / 10 - par 5 personnes
5,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Niveau :Expert Date de création :27/02/2003 Date de mise à jour :27/02/2003 17:04:55 Vu / téléchargé :6 280 / 461

Auteur : Krox68

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

 Description

Cliquez pour voir la capture en taille normale
c juste une fenetre Norton Antivirus, c pour montrer comment faire des fenetres colorées, avec des boutons, du texte...
ALLEZ VOIR L'APERCU !

Source

  • #include <windows.h>
  • // ID(identificateur) du bouton
  • #define ID_BUTTON 100
  • #define ID_TEXTE 101
  • #define ID_IMAGE 1002
  • // Procédure qui va recevoir les messages
  • LRESULT CALLBACK WinProc(HWND, UINT, WPARAM, LPARAM);
  • // Entré du programme
  • int WINAPI WinMain(HINSTANCE instance1, HINSTANCE instance2, LPSTR lps, int nShow)
  • {
  • MSG message;
  • WNDCLASSEX fen;
  • COLORREF couleur = RGB(1200,10000,14); // couleur de fond
  • // Création de la classe
  • fen.hInstance = instance1; // Instance
  • fen.lpszClassName = "bouton_r"; // Nom de la classe
  • fen.lpfnWndProc = WinProc; // Adresse de la procédure
  • fen.style = CS_DBLCLKS; // Style
  • fen.cbSize = sizeof(WNDCLASSEX); // Taille
  • fen.hIcon = LoadIcon(NULL,NULL); // Grande icone
  • fen.hIconSm = LoadIcon(NULL,NULL); // Petite icone
  • fen.hCursor = LoadCursor(NULL, IDC_ARROW); // Curseur
  • fen.lpszMenuName = NULL; // Menu
  • fen.cbClsExtra = 0;
  • fen.cbWndExtra = 0;
  • fen.hbrBackground = (HBRUSH)CreateSolidBrush(couleur); // Couleur de fond
  • // Enregistre la classe
  • if (!RegisterClassEx(&fen))
  • {
  • // Échec
  • MessageBox(NULL, "Erreur lors de l'enregistrement de la classe.", "Erreur", MB_OK);
  • return 0;
  • }
  • // déclaration et création de la fenêtre et du bouton //WS_OVERLAPPEDWINDOW
  • HWND fenetre = CreateWindowEx(WS_EX_CLIENTEDGE, "bouton_r", "Alerte NortonAntivirus", 0, CW_USEDEFAULT, CW_USEDEFAULT,300, 250, HWND_DESKTOP, NULL, instance1, NULL);
  • HWND bouton = CreateWindowEx(0, "BUTTON", "", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_NOTIFY|BS_TEXT, 63, 120, 150, 40, fenetre, (HMENU)ID_BUTTON, instance1, NULL);
  • HWND texte = CreateWindowEx(WS_EX_CLIENTEDGE, "STATIC", NULL, WS_VISIBLE|WS_CHILD, 22, 20, 240, 65, fenetre, (HMENU)ID_TEXTE, instance1, NULL);
  • if ((fenetre == NULL)||(bouton == NULL)||(texte == NULL))
  • {
  • // Échec de l'affichage des éléments
  • MessageBox(NULL, "Erreur lors de la création de la fenêtre.", "Erreur", MB_OK);
  • return 0;
  • }
  • Sleep(20000);// attend 30 secondes avant d'afficher la fenetre
  • // Affiche la fenêtre
  • ShowWindow(fenetre, SW_SHOW);
  • // Met à jour la fenêtre
  • UpdateWindow(fenetre);
  • // Envoie du texte dans les statics
  • SetWindowText(texte, " Un virus a infecté votre ordinateur,\n Cliquez sur le bouton pour le\n supprimer.");
  • // Envoie tu texte dans le bouton(Caption)
  • SetWindowText(bouton, ">Supprimer le virus<");
  • // Donne le focus au bouton
  • SetFocus(bouton);
  • // Met à jour le bouton et le texte
  • UpdateWindow(bouton), (texte);
  • // Boucle qui permet au programme de rester ouvert :)
  • while (GetMessage(&message, NULL, 0, 0))
  • {
  • TranslateMessage(&message);
  • DispatchMessage(&message);
  • }
  • // Fin du programme
  • return message.wParam;
  • }
  • // Réception des messages
  • LRESULT CALLBACK WinProc(HWND fenetre2, UINT message2, WPARAM wParam, LPARAM lParam)
  • {
  • switch (message2)
  • {
  • // Fermeture du programme
  • case WM_DESTROY:
  • // Ferme le programme
  • PostQuitMessage(0);
  • break;
  • // Fermeture de la fenêtre via le menu système ou la croix(X) noir
  • case WM_CLOSE:
  • // Détruit la fenêtre
  • DestroyWindow(fenetre2);
  • break;
  • // Réception des commandes
  • case WM_COMMAND:
  • // Vérifie que c'est bien le bouton Vérifie si on à cliquer sur le bouton
  • if ((LOWORD(wParam) == ID_BUTTON) && (HIWORD(wParam) == BN_CLICKED))
  • {
  • // Quitte la fenetre
  • DestroyWindow(fenetre2);
  • }
  • break;
  • default:
  • return DefWindowProc(fenetre2, message2, wParam, lParam);
  • break;
  • }
  • return 0;
  • }
#include <windows.h>
// ID(identificateur) du bouton
#define ID_BUTTON 100
#define ID_TEXTE 101
#define ID_IMAGE 1002

// Procédure qui va recevoir les messages
LRESULT CALLBACK WinProc(HWND, UINT, WPARAM, LPARAM);

// Entré du programme
int WINAPI WinMain(HINSTANCE instance1, HINSTANCE instance2, LPSTR lps, int nShow)
{
MSG message;
WNDCLASSEX fen;
COLORREF couleur = RGB(1200,10000,14); // couleur de fond

      // Création de la classe
      fen.hInstance = instance1;        // Instance
      fen.lpszClassName = "bouton_r";   // Nom de la classe
      fen.lpfnWndProc = WinProc;        // Adresse de la procédure
      fen.style = CS_DBLCLKS;           // Style
      fen.cbSize = sizeof(WNDCLASSEX);  // Taille
      fen.hIcon = LoadIcon(NULL,NULL);    // Grande icone
      fen.hIconSm = LoadIcon(NULL,NULL);   // Petite icone
      fen.hCursor = LoadCursor(NULL, IDC_ARROW);     // Curseur
      fen.lpszMenuName = NULL;     // Menu
      fen.cbClsExtra = 0;
      fen.cbWndExtra = 0;
      fen.hbrBackground = (HBRUSH)CreateSolidBrush(couleur);  // Couleur de fond

      // Enregistre la classe
      if (!RegisterClassEx(&fen))
      {
      // Échec
      MessageBox(NULL, "Erreur lors de l'enregistrement de la classe.", "Erreur", MB_OK);
      return 0;
      }

// déclaration et création de la fenêtre et du bouton            //WS_OVERLAPPEDWINDOW
HWND fenetre = CreateWindowEx(WS_EX_CLIENTEDGE, "bouton_r", "Alerte NortonAntivirus", 0, CW_USEDEFAULT, CW_USEDEFAULT,300, 250, HWND_DESKTOP, NULL, instance1, NULL);
HWND bouton = CreateWindowEx(0, "BUTTON", "", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_NOTIFY|BS_TEXT, 63, 120, 150, 40, fenetre, (HMENU)ID_BUTTON, instance1, NULL);
HWND texte = CreateWindowEx(WS_EX_CLIENTEDGE, "STATIC", NULL, WS_VISIBLE|WS_CHILD, 22, 20, 240, 65, fenetre, (HMENU)ID_TEXTE, instance1, NULL);

      if ((fenetre == NULL)||(bouton == NULL)||(texte == NULL))
      {
      // Échec de l'affichage des éléments
      MessageBox(NULL, "Erreur lors de la création de la fenêtre.", "Erreur", MB_OK);
      return 0;
      }

Sleep(20000);// attend 30 secondes avant d'afficher la fenetre

// Affiche la fenêtre
ShowWindow(fenetre, SW_SHOW);
// Met à jour la fenêtre
UpdateWindow(fenetre);
// Envoie du texte dans les statics
SetWindowText(texte, " Un virus a infecté votre ordinateur,\n Cliquez sur le bouton pour le\n supprimer.");
// Envoie tu texte dans le bouton(Caption)
SetWindowText(bouton, ">Supprimer le virus<");
// Donne le focus au bouton
SetFocus(bouton);
// Met à jour le bouton et le texte
UpdateWindow(bouton), (texte);

      // Boucle qui permet au programme de rester ouvert :)
      while (GetMessage(&message, NULL, 0, 0))
      {
      TranslateMessage(&message);
      DispatchMessage(&message);
      }

// Fin du programme
return message.wParam;
}

// Réception des messages
LRESULT CALLBACK WinProc(HWND fenetre2, UINT message2, WPARAM wParam, LPARAM lParam)
{
switch (message2)
{
       // Fermeture du programme
       case WM_DESTROY:
       // Ferme le programme
       PostQuitMessage(0);
       break;

       // Fermeture de la fenêtre via le menu système ou la croix(X) noir
       case WM_CLOSE:
       // Détruit la fenêtre
       DestroyWindow(fenetre2);
       break;

       // Réception des commandes
       case WM_COMMAND:
       // Vérifie que c'est bien le bouton    Vérifie si on à cliquer sur le bouton
          if ((LOWORD(wParam) == ID_BUTTON) && (HIWORD(wParam) == BN_CLICKED))
          {
          // Quitte la fenetre
          DestroyWindow(fenetre2);
          }
       break;

       default:
       return DefWindowProc(fenetre2, message2, wParam, lParam);
       break;
       }
return 0;
}  

 Conclusion

J'aimerais qu'on me dise comment insérer une immage a coté du bouton,
avec un STATIC.  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   fenetre blague
    • fenetre.devTélécharger ce fichier [Réservé aux membres club]310 octets
    • fenetre.exeTélécharger ce fichier [Réservé aux membres club]6 656 octets
    • fenetreMain.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 799 octets
    • fenetremain.oTélécharger ce fichier [Réservé aux membres club]2 438 octets
    • rsrc.oTélécharger ce fichier [Réservé aux membres club]1 026 octets
    • Rsrc.rcTélécharger ce fichier [Réservé aux membres club]Voir ce fichier74 octets

Télécharger le zip


 Sources du même auteur

LA LIB POUR FENETRE WIN32
CLIENT-SERVEUR : DONNEES CRYPTEES XOR
SCANNER DE SERVICES
NET : UTILITAIRE LINUX SOCKETS
Source avec Zip UTILITAIRE RESEAU

 Sources de la même categorie

Source avec Zip WIN32 TLS LENT par dguilmain
Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64) par BruNews
Source avec Zip Source avec une capture FIND TEXT (WIN64) par BruNews
Source avec Zip DELETE DIRECTORY (WIN64) par BruNews
Source avec Zip ENUM DIRECTORY (WIN64) par BruNews

Commentaires et avis

Commentaire de BruNews le 27/02/2003 16:05:40 administrateur CS

RGB(1200,10000,14);
tu arrives a entrer 1200 ou 10000 dans 8 bits ???
ciao...

Commentaire de Krox68 le 27/02/2003 16:49:24

==&gt; BruNews, je comprends pas ce que tu racontes...
désolé

Commentaire de Kaid le 27/02/2003 17:23:53

Ce que veux dire BruNews: Les composantes R, G et B d'une couleur ont chacune une taille d'un octet (ou 8 bits) soit 256 comme valeur maximale.
Or tu utilises 1200 et 10000 ce qui est faux.

Commentaire de BruNews le 27/02/2003 18:07:56 administrateur CS

je dirias meme 255 de valeur maxi

Commentaire de Kaid le 27/02/2003 19:33:32

Oui, BruNews a raison, 255 c'est mieux.

Commentaire de Krox68 le 28/02/2003 10:47:39

ok g compris

Commentaire de BlackGoddess le 18/04/2003 19:28:21

Sleep(20000);// attend 30 secondes avant d'afficher la fenetre

ca fait 20 secondes lol pas 30 :p

Commentaire de Krox68 le 19/04/2003 10:15:48

oui lol une petite erreur...

Commentaire de marm0tte le 12/03/2004 20:20:22

Pis pourkoi est-ce que tu utilises pas un ressource ??

Commentaire de mortiis le 24/03/2004 07:04:54

Je crois que c'est plutot 256 valeur et non 255
il ne faut pas oublier de compter le 0

Commentaire de victorcoasne le 01/07/2004 20:08:40

Salut marm0tte c'est simple car sous Dev-C++ je n'arrive pas à utiliser alors je ne dis pas qu'on peux pas le faire mais il y a de grandes chances pour que on ne puisse pas le faire alors c'est mieux ainsi en fenêtre !!!

Commentaire de victorcoasne le 01/07/2004 20:12:21

Au fait j'ai plus simple pour le fond dans la structure de déclaration il y a :
wincl.hbrBackground

il faut le completer de la sorte :

wincl.hbrBackground = reinterpret_cast&lt;HBRUSH&gt;(3);

là j'ai mis 3 mais on peux mettre un autre nombre pour la couleur je n'ai testé que jusqu'a 20

Commentaire de wxccxw le 20/10/2004 16:33:29

je trouve que l'interet de faux virus est nul mais pour aprendre a creer une fenetre c super !!!  Bien jouer je met 9/10

Commentaire de victorcoasne le 20/10/2004 16:55:27

Créer une fenêtre est expliqué partout alors je vois pas ce que cette source a de plus !

Commentaire de Insider28 le 30/07/2006 12:24:34

Bonjour,

Je tiens a te remercier,
Car je debute et pour l'instant je programmais que en console !!
Grace a ton code source qui est clairement expliquer, je vais pouvoir commencer !!

Merci,
Cordialement,
Insider

Commentaire de victorcoasne le 30/07/2006 12:27:27

Bonjour,

Regarde ici c'est encore mieux pour débuter : http://www.cppfrance.com/codes/CREATEWNIDOWEX-LISTBOX-EDITBOX-BUTTON-SCROLLBAR_9289.aspx

@++,
Victor

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,749 sec (4)

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