我参考网上一些资料写了个: 剪切板监视程序,里边有如下代码: protected override void WndProc(ref System.Windows.Forms.Message m)
{.....................................} 本来就不太明白的我,本想用单步调试来看个究竟,可是程序已启动就来到此函数上,所以想问问此函数运行的条件和时机(本人初学,请尽量详细地讲一讲,谢谢了!)
{.....................................} 本来就不太明白的我,本想用单步调试来看个究竟,可是程序已启动就来到此函数上,所以想问问此函数运行的条件和时机(本人初学,请尽量详细地讲一讲,谢谢了!)
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
}
}
*/
}
}
}
ref Message m
);
参数 m
与当前 Windows 消息相关联的 Message。备注
当窗口消息发送到窗口的句柄时(http://baike.baidu.com/view/1452762.htm),将调用此方法。对继承者的说明: 重写此方法以实现特定消息处理。对未处理的消息调用 base.WndProc。