Fenetre avec bouton alerte au virus!

0/5 (16 avis)

Vue 8 190 fois - Téléchargée 623 fois

Description

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 / Exemple :


#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.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
victorcoasne Messages postés 1100 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 octobre 2012 7
30 juil. 2006 à 12:27
Bonjour,

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

@++,
Victor
Insider28 Messages postés 3 Date d'inscription samedi 29 juillet 2006 Statut Membre Dernière intervention 30 juillet 2006
30 juil. 2006 à 12:24
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
victorcoasne Messages postés 1100 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 octobre 2012 7
20 oct. 2004 à 16:55
Créer une fenêtre est expliqué partout alors je vois pas ce que cette source a de plus !
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
20 oct. 2004 à 16:33
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
victorcoasne Messages postés 1100 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 octobre 2012 7
1 juil. 2004 à 20:12
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<HBRUSH>(3);

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.