begin process at 2012 02 09 18:26:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

API

 > 

Comment intercepter le message WM_WINDOWPOSCHANGING ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment intercepter le message WM_WINDOWPOSCHANGING ?

lundi 5 mai 2008 à 16:17:22 | Comment intercepter le message WM_WINDOWPOSCHANGING ?

jagxx

Membre Club
Bonjour,

J'aimerais intercepter le message WM_WINDOWPOSCHANGING d'une fenêtre externe (Titre : "window2") à mon application afin d'en interdire le deplacement. Je recupere le handle de "window2" avec la fonction API FindWindow(null, "window2"). Je pense qu'il faut ensuite utiliser la fonction C# WndProc, mais je suis un peu perdu. Quelqu'un pourrait il m'aider svp ?

Merci d'avance

Jag
mardi 6 mai 2008 à 10:25:30 | Re : Comment intercepter le message WM_WINDOWPOSCHANGING ?

sebmafate

Membre Club Administrateur CodeS-SourceS
En fait... sur le principe, tu n'es pas loin.

Il faut que tu crées une classe héritant de NativeWindow.
Ensuite, tu lui assignes le handle de "window2" avec la méthode AssignHandle... et ensuite tu surcharges la méthode WndProc pour intercepter le message WM_WINDOWSPOSCHANGING.

Un conseil, crée un destructeur sur ta classe pour appeler la méthode ReleaseHandle().


Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
vendredi 9 mai 2008 à 20:28:40 | Re : Comment intercepter le message WM_WINDOWPOSCHANGING ?

jagxx

Membre Club
Je cré une classe héritant de NativeWindow... Faut-il ensuite que j'instancie un objet dans la classe Form1 du projet Windows? J'ai essaié plusieurs scénario mais je n'y arrive pas. Help me, please :) Merci

Jagxx
samedi 10 mai 2008 à 22:34:19 | Re : Comment intercepter le message WM_WINDOWPOSCHANGING ?

jagxx

Membre Club
Voici le code qui ne fonctionne pas :

public partial class Form1 : Form
    {
        [DllImport("User32.dll")]
        public static extern int FindWindow(string lpClassName, string lpWindowName);        

        public Form1()
        {
            InitializeComponent();
            MyNativWindow mnw = new MyNativWindow();
            mnw.AssignHandle((IntPtr)FindWindow(null, "Calculatrice"));
        }
    }

    public class MyNativWindow : NativeWindow
    {
        const int WM_WINDOWPOSCHANGING = 0x0046;

        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);

            if (m.Msg == WM_WINDOWPOSCHANGING)
            {
                MessageBox.Show("a");
            }
        }  
    }

Quelqu'un a t-il une idée ?


Cette discussion est classée dans : message, wm, intercepter, windowposchanging, window2


Répondre à ce message

Sujets en rapport avec ce message

Intercepter les messages windows [ par jagxx ] Bonjour,Je me permets de créer un nouveau message bien que le dernier est du05.05.08 et qu'il concerne le même sujet mais avec des petites modificatio Connaitre le "code" de la touche enfoncé [ par tiste87 ] Bonsoir, je vais essayer d'être le plus clair possible. J'aimerai savoir comment connaitre le "code" de la touche enfoncé. Car dans un fichier de conf Recevoir une notification quand une adresse email est incorrecte [ par daviddubois ] Bonjour tout le monde, J'ai un programme qui envoie des emails avec attaché. Ce programme fonctionne parfaitement. Lorsque un utilisateur reçoit un C# - affiché une messagebox depuis une classe [ par Karibot ] Bonjour, j'ai un programme qui fonctionne avec une interface windows form. il fonctionne très bien sauf qu'il ne m'avertit pas lorsqu'il fini les calc Icon personnel dans un message box [ par ramy04804001 ] Salut [^^happy13] , Je veut faire une icon personnel stocké sur le disque dur au sein d'un message box et non pas par les icons standard . Merci bie probleme de syntaxe trigger [ par cudenetf ] Bonjour, j'utilise c# avec une bd sqlexpress2008 j'ai fait des modifs dans ma base de données et veux ajouter un trigger j'ai un "programme" d emise comment modification le message de la banière du setup [ par F2ATA ] bonjour à tous, j'ai un soucis avec les fenêtres d'installation de mon application que j'ai codé en c#. J'ai en fait besoin de personnaliser le messag Intercepter sockets TCP [ par delec40 ] Bonjour, Je cherche une solution à cette problématique : Actuellement une appli A envoi des sockets TCP à une autre appli B. Les deux appli tournent Message d'attente sous dos [ par lenoil55 ] Bonjour à tous, j'ai réalisé un programme 'Console Application' qui cré un webrequest. Ce web request interroge un web service par http et me renvoie Diffuser un message en streaming [ par nicolecastel ] [^^love3] Bonjour Je suis débutante en Csharp et je suis entrain de développer une application,j'aimerais bien savoir comment je peux diffuser un me


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

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

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