WinCE 注册表值监视器

本文关键字:监视器 注册表 WinCE | 更新日期: 2023-09-27 18:36:28

Evening all,

我需要一些关于在 WinCE 中监视注册表值的建议。我正在编写一个 Windows 窗体应用程序,该应用程序需要监视注册表中的值,并在它更改时触发事件,任何人都可以指出我如何完成此操作的正确方向吗?

提前非常感谢。

WinCE 注册表值监视器

我设法使用 PInvoke 代码实现了这一点:

   [DllImport("coredll.dll", SetLastError = true)]
    static extern int RegOpenKeyEx(UIntPtr hKey, string lpSubKey, uint ulOptions, int samDesired, out UIntPtr phkResult);
    [DllImport("coredll.dll", SetLastError = true)]
    static extern UIntPtr CeFindFirstRegChange(UIntPtr hKey, [In, MarshalAs(UnmanagedType.Bool)] bool bWatchSubtree, uint dwNotifyFilter);
    [DllImport("coredll.dll", SetLastError = true)]
    public static extern UInt32 WaitForSingleObject(UIntPtr Handle, UInt32 Wait);
    [DllImport("coredll.dll", SetLastError = true)]
    static extern Int32 CeFindNextRegChange(UIntPtr hChangeHandle);
    [DllImport("coredll.dll", SetLastError = true)]
    static extern Int32 CeFindCloseRegChange(UIntPtr hChangeHandle);
    [DllImport("coredll.dll", SetLastError = true)]
    public static extern int RegCloseKey(UIntPtr hKey);

以及使用 WaitForSingleObject。