小编Jam*_*ter的帖子

如何在Win32上创建新窗口时收到通知?

有没有办法使用Win32,在创建新窗口时注册通知.我正在尝试保留当前打开的窗口列表,但现在只是使用查询当前窗口列表EnumWindows().

有人做过类似的事吗?

谢谢


我不确定我是否正确,但我无法启动SetWindowsHookEx方法.

想到什么?

这是我的剪辑

[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr SetWindowsHookEx(HookType hook, HookProc callback, IntPtr hMod, uint dwThreadId);

[DllImport("user32.dll")]
private static extern int CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);
const int HSHELL_WINDOWCREATED = 1;

private static HookProc winDelegate = ShellHookProcDelegate;
internal static void RegisterWindowCreatedEvent()
{
    SetWindowsHookEx(HookType.WH_SHELL, winDelegate, IntPtr.Zero, 0);
}

private static int ShellHookProcDelegate(int code, IntPtr wParam, IntPtr lParam)
{
    if (code != HSHELL_WINDOWCREATED)
    {
        return CallNextHookEx(IntPtr.Zero, code, wParam, lParam);
    }

    //App …
Run Code Online (Sandbox Code Playgroud)

winapi user32

10
推荐指数
2
解决办法
6005
查看次数

标签 统计

user32 ×1

winapi ×1