/// <summary> /// Gets the file path of each file currently opened in the secondary view /// </summary> /// <returns></returns> private static List <string> GetOpenedFilesIn(NppMsg view, NppMsg mode) { var output = new List <string>(); int nbFile = (int)Win32Api.SendMessage(Handle, NppMsg.NPPM_GETNBOPENFILES, 0, (int)view); using (Win32Api.UnmanagedStringArray cStrArray = new Win32Api.UnmanagedStringArray(nbFile, Win32Api.MaxPath)) { if (Win32Api.SendMessage(Handle, mode, cStrArray.NativePointer, nbFile) != IntPtr.Zero) { output.AddRange(cStrArray.ManagedStringsUnicode); } } return(output); }
/// <summary> /// Gets the file path of each file in the session file, return /// the files separated by a new line /// </summary> /// <param name="sessionFilePath"></param> /// <returns></returns> public static List <string> GetFilesListFromSessionFile(string sessionFilePath) { var output = new List <string>(); int nbFile = (int)Win32Api.SendMessage(Handle, NppMsg.NPPM_GETNBSESSIONFILES, 0, sessionFilePath); if (nbFile > 0) { using (Win32Api.UnmanagedStringArray cStrArray = new Win32Api.UnmanagedStringArray(nbFile, Win32Api.MaxPath)) { if (Win32Api.SendMessage(Handle, NppMsg.NPPM_GETSESSIONFILES, cStrArray.NativePointer, sessionFilePath) != IntPtr.Zero) { output.AddRange(cStrArray.ManagedStringsUnicode); } } } return(output); }