Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Работа с сообщениями! Как?


Автор: qweasd 24.6.2007, 11:44
Есть длл которая посылает масаг :

Код

#define HM_KEYPRESSED WM_USER+1
HWND hWnd;
    hWnd=::FindWindow(NULL,L"Form1");
    SendMessage(hWnd,HM_KEYPRESSED,NULL,NULL);


Как в си шарп получить и обработать такое сообщение????

Автор: tol05 24.6.2007, 11:58
самый простой путь - в winForms наследовать класс от Form и переопределить protected метод WndProc
Код

public class Form1 : System.Windows.Forms.Form
    {
        ...

        protected override void WndProc(ref Message m) 
        {
            switch (m.Msg)
            {
                case WM_ACTIVATEAPP:

                    appActive = (((int)m.WParam != 0));
                    this.Invalidate();
                    break;                
                case 0х200:...
                    
            }
            base.WndProc(ref m);
        }
       ...
    }

и т.д.

Если не winForm - то без PInvoke не обойтись. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)