Simon Mourier's Avatar
Simon Mourier's blog (1807 answers on StackOverflow) about Microsoft technologies C#, C/C++, .NET, WinRT, WinUI3, AOT, P/Invoke, COM, Interop, DirectX, Direct2D, Windows, ...
  • 🔎︎ Search
  • Categories
  • Archives
  • About Me
  • c#
  • winapi
  • windows-shell

How to get the PIDL of any folder to use in RegisterChangeNotify

Apr 21, 2015 See the question and my original answer on StackOverflow

You can find a PIDL from a path with the ILCreateFromPath method (for a real file/folder path):

IntPtr pidl = ILCreateFromPath(@"c:\path\file.ext");
if (pidl != IntPtr.Zero)
try
{
    // do something
}
finally
{
    Marshal.FreeCoTaskMem(pidl);
}
  • SmoBlog © 2010-2026 Simon Mourier. All rights reserved.
  • Privacy & Terms