internal void AddDir() { SHCHANGENOTIFYENTRY notEntry = new SHCHANGENOTIFYENTRY(); //Set mask notEntry.dwEventMask = (int)SHCNE_ALLEVENTS; //notEntry.dwEventMask = (int)SHCNE_ATTRIBUTES | (int)SHCNE_UPDATEDIR | (int)SHCNE_UPDATEITEM; //notEntry.dwEventMask = (int)SHCNE_UPDATEDIR | (int)SHCNE_UPDATEITEM; notEntry.fRecursive = BOOL(includeSubdirectories); //Set watch dir IntPtr lpWatchDir = StringToHLocal(path); notEntry.pszWatchDir = lpWatchDir; //Call API #if !NDOC int res = SHChangeNotifyRegister(windowSink.Hwnd, ref notEntry); #endif }
internal static extern int SHChangeNotifyRegister(IntPtr hwnd, ref SHCHANGENOTIFYENTRY pshcne);
internal static extern bool SHChangeNotifyRegister(IntPtr hwnd, ref SHCHANGENOTIFYENTRY pshcne);