begin process at 2012 05 27 19:55:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > HOOK DE ENTER SUR DIALOGBOX (WIN32)

HOOK DE ENTER SUR DIALOGBOX (WIN32)


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Niveau :Débutant Date de création :30/06/2003 Date de mise à jour :30/06/2003 11:55:29 Vu / téléchargé :5 454 / 343

Auteur : BruNews

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


 Description

Le hook interdit l'emploi de touche ENTER.
Il annonce interdiction par MessageBox.
Le MessageBox est egalement sujet au hook.
Faites essai de fermeture du message par ENTER.

Source

  • #include <windows.h>
  • #include "resource.h"
  • HHOOK hhk = 0;
  • // HOOK LOCAL de ENTER sur boite type dialogbox ou MessageBox
  • LRESULT CALLBACK MsgFilterProc(int nCode, WPARAM wParam, LPARAM lParam)
  • {
  • MSG *lpmsg;
  • lpmsg = (MSG*) lParam;
  • if(nCode != MSGF_DIALOGBOX) goto defRet;
  • if(lpmsg->message == WM_KEYDOWN) {
  • if(lpmsg->wParam == VK_RETURN) {
  • MessageBox(lpmsg->hwnd, "Touche INTERDITE", "VK_RETURN", 0);
  • return 1;
  • }
  • }
  • defRet:
  • return (CallNextHookEx(hhk, nCode, wParam, lParam));
  • }
  • BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam)
  • {
  • switch(mssg) {
  • case WM_INITDIALOG:
  • SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(0, (LPCTSTR)IDI_APPLICATION));
  • hhk = SetWindowsHookEx(WH_MSGFILTER, MsgFilterProc, 0, GetCurrentThreadId());
  • return 1;
  • case WM_COMMAND:
  • switch(wParam) {
  • case IDOK:
  • MessageBox(hdlg, "Salut", "IDOK", 0);
  • return 0;
  • case IDCANCEL:
  • if(hhk) UnhookWindowsHookEx(hhk);
  • EndDialog(hdlg, 0);
  • }
  • }
  • return 0;
  • }
  • int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int)
  • {
  • DialogBoxParam(hInstance, (LPCTSTR)IDD_APP, 0, AppDlgProc, 0);
  • return 0;
  • }
#include <windows.h>
#include "resource.h"

HHOOK hhk = 0;

// HOOK LOCAL de ENTER sur boite type dialogbox ou MessageBox
LRESULT CALLBACK MsgFilterProc(int nCode, WPARAM wParam, LPARAM lParam)
{
  MSG *lpmsg;
  lpmsg = (MSG*) lParam;
  if(nCode != MSGF_DIALOGBOX) goto defRet;
  if(lpmsg->message == WM_KEYDOWN) {
    if(lpmsg->wParam == VK_RETURN) {
      MessageBox(lpmsg->hwnd, "Touche INTERDITE", "VK_RETURN", 0);
      return 1;
    }
  }
defRet:
  return (CallNextHookEx(hhk, nCode, wParam, lParam));
}

BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam)
{
  switch(mssg) {
    case WM_INITDIALOG:
      SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(0, (LPCTSTR)IDI_APPLICATION));
      hhk = SetWindowsHookEx(WH_MSGFILTER, MsgFilterProc, 0, GetCurrentThreadId());
      return 1;
    case WM_COMMAND:
      switch(wParam) {
        case IDOK:
          MessageBox(hdlg, "Salut", "IDOK", 0);
          return 0;
        case IDCANCEL:
          if(hhk) UnhookWindowsHookEx(hhk);
          EndDialog(hdlg, 0);
      }
  }
  return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int)
{
  DialogBoxParam(hInstance, (LPCTSTR)IDD_APP, 0, AppDlgProc, 0);
  return 0;
}

 Conclusion

Tout dans zip.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   release
    • EnterHk.exeTélécharger ce fichier [Réservé aux membres club]23 552 octets
  • EnterHk.apsTélécharger ce fichier [Réservé aux membres club]18 088 octets
  • EnterHk.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 257 octets
  • EnterHk.ncbTélécharger ce fichier [Réservé aux membres club]19 456 octets
  • EnterHk.rcTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 156 octets
  • EnterHk.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier903 octets
  • EnterHk.suoTélécharger ce fichier [Réservé aux membres club]8 704 octets
  • EnterHk.vcprojTélécharger ce fichier [Réservé aux membres club]3 494 octets
  • resource.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier450 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64)
Source avec Zip Source avec une capture FIND TEXT (WIN64)
Source avec Zip DELETE DIRECTORY (WIN64)
Source avec Zip ENUM DIRECTORY (WIN64)
Source avec Zip TEMPLATES C/C++ POUR VS 2010

 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 VBurel le 09/08/2007 18:43:30

Code clair et ca marche. Donc c'est parfait.

 Ajouter un commentaire




Nos sponsors


Sondage...

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,515 sec (3)

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