gpt4 book ai didi

c# - NativeWindow WndProc 没有收到消息

转载 作者:行者123 更新时间:2023-11-30 22:45:49 25 4
gpt4 key购买 nike

有人能解释一下为什么我的 WndProc 方法在下面实现时没有收到任何消息吗?如果我将此类放在下面的 WinForms 应用程序中并传入 那个 应用程序的句柄,WndProc 会按我的预期接收消息。但是,使用从 GetForegroundWindow() 返回的 IntPtr 不会产生相同的结果。 (FWIW,我的代码设置为在我的应用程序隐藏时执行 GetForegroundWindow(),所以我确定 IntPtr 指的是外部应用程序。)我的目标是监视某些来自外部应用程序的事件。

public class MyNativeWindow : NativeWindow
{
[DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
private static extern IntPtr GetForegroundWindow();

public MyNativeWindow()
{
this.AssignHandle(GetForegroundWindow());
}

// Never called... I set a breakpoint
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
}
}

最佳答案

您不会收到其他进程的消息。

关于c# - NativeWindow WndProc 没有收到消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2894876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com