我参考网上一些资料写了个: 剪切板监视程序,里边有如下代码:        protected override void WndProc(ref System.Windows.Forms.Message m)
        {.....................................}   本来就不太明白的我,本想用单步调试来看个究竟,可是程序已启动就来到此函数上,所以想问问此函数运行的条件和时机(本人初学,请尽量详细地讲一讲,谢谢了!)

解决方案 »

  1.   

    应用程序不过是windows系统上的一个小的可插拔组件。当windows发消息时(例如你鼠标被风稍微吹动,windows就给你的应用程序发消息了),就回调你的应用程序了。
      

  2.   

    你鼠标被风稍微吹动,windows就给你的应用程序发消息了鼠标很轻,风很大!
      

  3.   

    这样描述看能否让楼主明白using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;namespace WindowsFormsApplication2
    {
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                //创建关于Form1实例的消息循环
                Application.Run(new Form1());//->这里就会进入一个循环,你想了解最好看看c++ sdk编程
                /*
                // 这里是c++中自己处理消息而建立的消息循环,这个循环一般也就是整个软件的“发动机”
                // 什么是消息,请参考google,baidu 搜索 windows message
                // Main message loop:
                while (GetMessage(&msg, NULL, 0, 0))//GetMessage每次从系统的消息队列取一个消息
                {
                    if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))//vc中处理快捷键的方法
                    {
                        TranslateMessage(&msg);//解析消息
                        DispatchMessage(&msg);//分发处理消息,这里会调用WndProc
                    }
                }
                */
            }
        }
    }
      

  4.   

    windows程序是事件驱动程序,windows发消息后,系统调用窗口函数(消息处理程序)
      

  5.   

    protected virtual void WndProc(
       ref Message m
    );
    参数 m 
          与当前 Windows 消息相关联的 Message。备注
          当窗口消息发送到窗口的句柄时(http://baike.baidu.com/view/1452762.htm),将调用此方法。对继承者的说明: 重写此方法以实现特定消息处理。对未处理的消息调用 base.WndProc。