2012-06-06 4 views
0

Вечерние все,Монитор значений реестра WinCE

Мне нужен совет по мониторингу значения реестра в WinCE. Я пишу приложение Windows Forms, которое должно отслеживать значение в реестре и запускать событие, когда оно изменяется, может ли кто-нибудь указать мне в правильном направлении, как это сделать?

Большое спасибо заранее.

+0

Вы должны указать, какое значение вы хотите отслеживать? – vikky

+0

Да, это должно быть определенное значение, которое контролируется. – Louise

ответ

0

мне удалось осуществить это с помощью 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.