什么时候调用WindowProc?

时间:2012-12-01 16:25:37

标签: c# windows pinvoke

在使用P / Invoke的C#程序中,我更改了窗口的过程地址。 所以我可以对我感兴趣的Windows消息做出反应。

但是系统调用的程序何时? 我有列表,我在我的自定义过程和我的其余代码中操作。 系统如何决定何时可以或不能调用该程序, 并且数据是否有可能被破坏?

e.g。

我在程序中将条目添加到列表中。

我通读了列表并处理了代码中另一部分的条目。

在我设法清除列表之前,该过程将接管并添加更多条目。

返回我的代码的其他部分,清除列表并丢弃新条目而不进行处理。

1 个答案:

答案 0 :(得分:1)

您可能不应该使用p / invoke来执行此操作,因为它可能会干扰Windows窗体(或WPF)管理消息泵的方式。

如果必须,您可以尝试以下方法: Setting up Hook on Windows messages

或者您可以在主窗体类中覆盖WndProc,无需进一步说明。