public ulong RegisterChangeNotify(IntPtr hWnd, CSIDL item, bool Recursively)
{
if (notifyid != 0) return (0);
SHChangeNotifyEntry changeentry = new SHChangeNotifyEntry() { pIdl = GetPidlFromFolderID(hWnd, item), Recursively = Recursively };
SHChangeNotifyEntry[] changenetrys = new SHChangeNotifyEntry[1] { changeentry };
//changenetrys[0] = changeentry;
notifyid = SHChangeNotifyRegister(
hWnd,
//SHCNF.SHCNF_TYPE | SHCNF.SHCNF_IDLIST,
(SHCNRF)0x00FF | (SHCNRF)0x0000 | SHCNRF.NewDelivery,
SHCNE.SHCNE_ALLEVENTS | SHCNE.SHCNE_INTERRUPT,
WM_SHNOTIFY,
1,
changenetrys);
return (notifyid);
}