private string ResolveProcessPath(IntPtr FileHandle) { string path = ""; const int bufSize = 1024; var strPtr = Marshal.AllocHGlobal(bufSize); uint length = WinLowLevel.GetFinalPathNameByHandleW ( FileHandle, strPtr, bufSize, 0 ); if (length != 0) { path = Marshal.PtrToStringUni(strPtr, (int)length); path = path.TrimStart('\\', '?'); } Marshal.FreeHGlobal(strPtr); return(path); }